[object Object]

← back to Commercialrealestate

CRCP crexi DB scraper: also strip a leading 'NNN SqFt' marketing prefix from detail addresses (TK-12033)

e778fe0b78748073d648b91b6e5e019bb7750e64 · 2026-09-23 12:16:10 -0700 · Steve Abrams

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X7HcZ26MePoJ5QpcvDhKmH

Files touched

Diff

commit e778fe0b78748073d648b91b6e5e019bb7750e64
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Sep 23 12:16:10 2026 -0700

    CRCP crexi DB scraper: also strip a leading 'NNN SqFt' marketing prefix from detail addresses (TK-12033)
    
    Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01X7HcZ26MePoJ5QpcvDhKmH
---
 scripts/scrape-crexi-loopnet.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/scrape-crexi-loopnet.js b/scripts/scrape-crexi-loopnet.js
index e4f46e7..c15502c 100644
--- a/scripts/scrape-crexi-loopnet.js
+++ b/scripts/scrape-crexi-loopnet.js
@@ -170,7 +170,7 @@ function detailAgent(url) {
   if (address) {
     // Crexi sometimes prepends a "<type> | X% CAP | N Units " marketing header before the repeated
     // street address — strip it so the stored address is just the street, city, CA, zip.
-    address = address.replace(/^.*?\b\d+\s+Units?\s+(?=\d)/i, '').replace(/^.*\|\s*/, '').replace(/\s{2,}/g, ' ').trim();
+    address = address.replace(/^.*?\b\d+\s+(?:Units?|SqFt|SF)\s+(?=\d)/i, '').replace(/^.*\|\s*/, '').replace(/\s{2,}/g, ' ').trim();
   }
   let price = null;
   let m = flat.match(/\$([\d,]{5,})\s*\|\s*\d+\s+days?\s+on\s+market/i);       // "$6,500,000 | 169 days on market"

← de85550 auto-data-snapshot: 2026-09-23T12:09:58 (7 data files) — dat  ·  back to Commercialrealestate  ·  CRCP crexi DB scraper: count brokers actually INSERTED on -- 46f7721 →