calesthio/OpenMontage · error · ValueError
Could not find video URL on NOAA page: {detail_url}
Error message
Could not find video URL on NOAA page: {detail_url} What it means
Error "Could not find video URL on NOAA page: {detail_url}" thrown in calesthio/OpenMontage.
Source
Thrown at tools/video/stock_sources/noaa.py:175
# Look for download links
if not download_url:
for a in soup.select("a[href]"):
href = a.get("href", "")
if any(ext in href.lower() for ext in [".mp4", ".mov", ".webm"]):
download_url = href
break
# Look for YouTube embeds
if not download_url:
for iframe in soup.select("iframe[src]"):
src = iframe.get("src", "")
if "youtube" in src or "vimeo" in src:
_log.warning("NOAA video is embedded from %s — cannot download directly", src)
raise ValueError(f"Video is embedded from external platform: {src}")
if not download_url:
raise ValueError(f"Could not find video URL on NOAA page: {detail_url}")
if not download_url.startswith("http"):
download_url = f"https://www.noaa.gov{download_url}"
return self._stream_download(download_url, out_path)
except Exception as e:
raise RuntimeError(f"NOAA download failed for {detail_url}: {e}") from e
def _stream_download(self, url: str, out_path: Path) -> Path:
import requests
with requests.get(
url, stream=True, timeout=180,
headers={"User-Agent": "OpenMontage/1.0"},
) as r:
r.raise_for_status()
with open(out_path, "wb") as f:View on GitHub (pinned to 95e1c3d0ab)
Solutions
- Open the NOAA detail page manually to locate the video file; the scraper did not find a downloadable URL.
- Select a different candidate from the search results.
When it happens
Trigger: The NOAA stock-footage detail page HTML contains no resolvable video URL.
Common situations: See trigger scenarios.
AI-assisted analysis of calesthio/OpenMontage@95e1c3d0ab (2026-08-15).
Data as JSON: /api/errors/ec34ef7de29d3471.
Report an issue: GitHub.