Facility: 090510

Kelly Avenue Mini Storage

Stale Data Warning: This facility has not been successfully scraped in 26 days (threshold: 3 days). Data may be outdated.
⚠ Unit Count Anomaly (Critical): Current run has 0 units, expected baseline is 6 (-100.0% change, delta: -6).
Facility Information active
Facility ID
090510
Name
Kelly Avenue Mini Storage
URL
https://kellyaveministorage.com/
Address
309 Centennial Blvd, Edmond, OK 73013, USA, Edmond, Oklahoma 73013
Platform
custom_facility_090510
Parser File
src/parsers/custom/facility_090510_parser.py
Last Scraped
2026-03-27 13:46:04.904444
Created
2026-03-20 23:23:10.660695
Updated
2026-03-27 13:46:04.930821
Parser & Healing Diagnosis working
Parser Status
✓ Working
Status Reason
N/A
Last Healing Attempt
Not attempted
Parser Source (src/parsers/custom/facility_090510_parser.py)
"""Parser for Kelly Avenue Mini Storage."""

from __future__ import annotations

from bs4 import BeautifulSoup

from src.parsers.base import BaseParser, ParseResult, UnitResult


class Facility090510Parser(BaseParser):
    """Extract storage units from Kelly Avenue Mini Storage."""

    platform = "custom_facility_090510"

    def parse(self, html: str, url: str = "") -> ParseResult:
        soup = BeautifulSoup(html, "lxml")
        result = ParseResult(platform=self.platform, parser_name=self.__class__.__name__)

        # Divi theme pricing tables: .et_pb_pricing_table contains unit size in
        # .et_pb_pricing_title. Prices not listed on-page ("Monthly Leasing").
        seen_sizes = set()
        for table in soup.select(".et_pb_pricing_table"):
            title_el = table.select_one(".et_pb_pricing_title")
            if not title_el:
                continue
            size_text = title_el.get_text(strip=True)
            if not size_text or size_text in seen_sizes:
                continue
            seen_sizes.add(size_text)

            unit = UnitResult()
            unit.size = size_text
            w, ln, sq = self.normalize_size(size_text)
            if w is not None:
                unit.metadata = {"width": w, "length": ln, "sqft": sq}
            result.units.append(unit)

        if not result.units:
            result.warnings.append("No units found on page")

        return result

Scrape Runs (5)

Run #1104 Details

Status
failed
Parser Used
N/A
Platform Detected
N/A
Units Found
0
Stage Reached
fetch
Timestamp
2026-03-23 02:46:30.804520

Failures (1)

fetch TimeoutException website timeout transient

Message: timeout: Timed out receiving message from renderer: -0.006 (Session info: chrome=146.0.7680.153) Stacktrace: #0 0x55785c8c78ce <unknown> #1 0x55785c2851d2 <unknown> #2 0x55785c2701fc <unknown> #3 0x55785c26ffe9 <unknown> #4 0x55785c26e5e6 <unknown> #5 0x55785c26ea96 <unknown> #6 0x55785c27d0f7 <unknown> #7 0x55785c29277d <unknown> #8 0x55785c29802b <unknown> #9 0x55785c26f0a1 <unknown> #10 0x55785c2925bf <unknown> #11 0x55785c31486a <unknown> #12 0x55785c2f4a03 <unknown> #13 0x55785c2c55d5 <unknown> #14 0x55785c2c61c1 <unknown> #15 0x55785c88bf10 <unknown> #16 0x55785c88f1d8 <unknown> #17 0x55785c88ec8a <unknown> #18 0x55785c88f645 <unknown> #19 0x55785c87b8fb <unknown> #20 0x55785c88f9a7 <unknown> #21 0x55785c863836 <unknown> #22 0x55785c8b48a5 <unknown> #23 0x55785c8b4a9c <unknown> #24 0x55785c8c638a <unknown> #25 0x7f052cc7e1f5 <unknown>

Stack trace
Traceback (most recent call last):
  File "/app/src/pipeline.py", line 361, in _process_facility
    fetch_result = fetch_page(driver, url, snapshot_mgr, facility_id, **fetch_kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/src/fetcher/fetcher.py", line 125, in fetch_page
    driver.get(url)
  File "/app/.venv/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 466, in get
    self.execute(Command.GET, {"url": url})
  File "/app/.venv/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 446, in execute
    self.error_handler.check_response(response)
  File "/app/.venv/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py", line 232, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: timeout: Timed out receiving message from renderer: -0.006
  (Session info: chrome=146.0.7680.153)
Stacktrace:
#0 0x55785c8c78ce <unknown>
#1 0x55785c2851d2 <unknown>
#2 0x55785c2701fc <unknown>
#3 0x55785c26ffe9 <unknown>
#4 0x55785c26e5e6 <unknown>
#5 0x55785c26ea96 <unknown>
#6 0x55785c27d0f7 <unknown>
#7 0x55785c29277d <unknown>
#8 0x55785c29802b <unknown>
#9 0x55785c26f0a1 <unknown>
#10 0x55785c2925bf <unknown>
#11 0x55785c31486a <unknown>
#12 0x55785c2f4a03 <unknown>
#13 0x55785c2c55d5 <unknown>
#14 0x55785c2c61c1 <unknown>
#15 0x55785c88bf10 <unknown>
#16 0x55785c88f1d8 <unknown>
#17 0x55785c88ec8a <unknown>
#18 0x55785c88f645 <unknown>
#19 0x55785c87b8fb <unknown>
#20 0x55785c88f9a7 <unknown>
#21 0x55785c863836 <unknown>
#22 0x55785c8b48a5 <unknown>
#23 0x55785c8b4a9c <unknown>
#24 0x55785c8c638a <unknown>
#25 0x7f052cc7e1f5 <unknown>

All Failures for this Facility (1)

fetch TimeoutException website timeout transient Run #1104 | 2026-03-23 02:47:00.841339

Message: timeout: Timed out receiving message from renderer: -0.006 (Session info: chrome=146.0.7680.153) Stacktrace: #0 0x55785c8c78ce <unknown> #1 0x55785c2851d2 <unknown> #2 0x55785c2701fc <unknown> #3 0x55785c26ffe9 <unknown> #4 0x55785c26e5e6 <unknown> #5 0x55785c26ea96 <unknown> #6 0x55785c27d0f7 <unknown> #7 0x55785c29277d <unknown> #8 0x55785c29802b <unknown> #9 0x55785c26f0a1 <unknown> #10 0x55785c2925bf <unknown> #11 0x55785c31486a <unknown> #12 0x55785c2f4a03 <unknown> #13 0x55785c2c55d5 <unknown> #14 0x55785c2c61c1 <unknown> #15 0x55785c88bf10 <unknown> #16 0x55785c88f1d8 <unknown> #17 0x55785c88ec8a <unknown> #18 0x55785c88f645 <unknown> #19 0x55785c87b8fb <unknown> #20 0x55785c88f9a7 <unknown> #21 0x55785c863836 <unknown> #22 0x55785c8b48a5 <unknown> #23 0x55785c8b4a9c <unknown> #24 0x55785c8c638a <unknown> #25 0x7f052cc7e1f5 <unknown>

Stack trace
Traceback (most recent call last):
  File "/app/src/pipeline.py", line 361, in _process_facility
    fetch_result = fetch_page(driver, url, snapshot_mgr, facility_id, **fetch_kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/src/fetcher/fetcher.py", line 125, in fetch_page
    driver.get(url)
  File "/app/.venv/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 466, in get
    self.execute(Command.GET, {"url": url})
  File "/app/.venv/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 446, in execute
    self.error_handler.check_response(response)
  File "/app/.venv/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py", line 232, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: timeout: Timed out receiving message from renderer: -0.006
  (Session info: chrome=146.0.7680.153)
Stacktrace:
#0 0x55785c8c78ce <unknown>
#1 0x55785c2851d2 <unknown>
#2 0x55785c2701fc <unknown>
#3 0x55785c26ffe9 <unknown>
#4 0x55785c26e5e6 <unknown>
#5 0x55785c26ea96 <unknown>
#6 0x55785c27d0f7 <unknown>
#7 0x55785c29277d <unknown>
#8 0x55785c29802b <unknown>
#9 0x55785c26f0a1 <unknown>
#10 0x55785c2925bf <unknown>
#11 0x55785c31486a <unknown>
#12 0x55785c2f4a03 <unknown>
#13 0x55785c2c55d5 <unknown>
#14 0x55785c2c61c1 <unknown>
#15 0x55785c88bf10 <unknown>
#16 0x55785c88f1d8 <unknown>
#17 0x55785c88ec8a <unknown>
#18 0x55785c88f645 <unknown>
#19 0x55785c87b8fb <unknown>
#20 0x55785c88f9a7 <unknown>
#21 0x55785c863836 <unknown>
#22 0x55785c8b48a5 <unknown>
#23 0x55785c8b4a9c <unknown>
#24 0x55785c8c638a <unknown>
#25 0x7f052cc7e1f5 <unknown>

← Back to dashboard