Facility: 109027
Prime Storage
- Facility ID
- 109027
- Name
- Prime Storage
- URL
- https://primestorage.com/
- Address
- 2200 Forsyth Rd M-01, Orlando, FL 32807, USA, Orlando, Florida 32807
- Platform
- custom_facility_109027
- Parser File
- src/parsers/custom/facility_109027_parser.py
- Last Scraped
- 2026-03-27 13:43:21.020275
- Created
- 2026-03-20 23:32:48.933261
- Updated
- 2026-03-27 13:43:21.047332
- Parser Status
- ✓ Working
- Status Reason
- N/A
- Last Healing Attempt
- Not attempted
Parser Source (src/parsers/custom/facility_109027_parser.py)
"""Parser for Prime Storage."""
from __future__ import annotations
import re
from bs4 import BeautifulSoup
from src.parsers.base import BaseParser, ParseResult, UnitResult
class Facility109027Parser(BaseParser):
"""Extract storage locations from Prime Storage (multi-location directory).
The homepage lists all Prime Storage locations with starting prices.
Individual unit data requires visiting each location page.
"""
platform = "custom_facility_109027"
def parse(self, html: str, url: str = "") -> ParseResult:
soup = BeautifulSoup(html, "lxml")
result = ParseResult(platform=self.platform, parser_name=self.__class__.__name__)
# Location cards have starting prices
cards = soup.select("div.psc\\:card, div[class*='psc:card']")
for card in cards:
text = card.get_text(separator=" | ", strip=True)
# Look for "Starting At $XX/MO" pattern
price_match = re.search(r"Starting At \$(\d+)/MO", text, re.I)
if not price_match:
continue
unit = UnitResult()
unit.price = self.normalize_price(price_match.group(1))
# Extract location name
# Cards have format "Starting At $XX/MO | Location Name | Address"
parts = text.split("|")
if len(parts) >= 2:
unit.description = parts[1].strip()
if unit.price is not None:
result.units.append(unit)
if not result.units:
result.warnings.append(
"No unit data found - this is a multi-location directory page."
)
return result
Scrape Runs (4)
-
exported Run #16132026-03-27 13:43:17.158084 | 10 units | Facility109027Parser | View Data →
-
exported Run #16122026-03-27 13:43:15.468295 | 10 units | Facility109027Parser | View Data →
-
exported Run #10682026-03-23 02:43:27.902622 | 10 units | Facility109027Parser | View Data →
-
exported Run #5732026-03-21 18:33:46.281278 | 10 units | Facility109027Parser | View Data →
Run #573 Details
- Status
- exported
- Parser Used
- Facility109027Parser
- Platform Detected
- ccstorage
- Units Found
- 10
- Stage Reached
- exported
- Timestamp
- 2026-03-21 18:33:46.281278
Timing
| Stage | Duration |
|---|---|
| Fetch | 5630ms |
| Detect | 115ms |
| Parse | 43ms |
| Export | 4ms |
Snapshot: 109027_20260321T183351Z.html · Show Snapshot · Open in New Tab
Parsed Units (10)
Unknown Size
$55.00/mo
Unknown Size
$50.00/mo
Unknown Size
$57.00/mo
Unknown Size
$56.00/mo
Unknown Size
$64.00/mo
Unknown Size
$61.00/mo
Unknown Size
$21.00/mo
Unknown Size
$70.00/mo
Unknown Size
$64.00/mo
Unknown Size
$11.00/mo