Nodes/UCLA Daily/UCLA Daily: Fowler Fetch
ComfyUI Node

UCLA Daily: Fowler Fetch

Fowler Museum events — the other free museum on campus

By jbrick2070·Created 6 months ago·Updated 6 months ago· 0
UCLA Daily: Fowler Fetch
  • ucla_data
  • ucla_data
  • segment_text
urlhttps://fowler.ucla.edu/events/
max_items5

The Fowler Museum is UCLA's other free museum - world arts and cultures, exhibitions you can wander through for nothing - and UCLAFowlerFetch is the node that drags its events into your pipeline. It's a straightforward HTML scrape of fowler.ucla.edu/events/, which is conveniently server-rendered, so a lightweight stdlib node can read it without a headless browser. If your display is aimed at residents who might actually walk over, this is a cheap, high-signal feed.

It's part of the UCLA Daily pack by Jeffrey A. Brick, which aggregates UCLA campus events and news into lobby-display cards. Fowler Fetch is one of the scraper-family fetchers (alongside CS, Hammer, and SEIS), and it follows the same contract as every fetcher in the pack: UCLA_DATA in, UCLA_DATA plus segment_text out, chainable in any order between UCLADailyDataInit and the card, narrator, or pulse nodes.

How it works

The node fetches the Fowler events page, parses the HTML for event entries, and normalizes them into the pack's standard event dicts. HTTP rides the shared http_utils helper - requests first, urllib fallback - and a failed fetch is recorded in errors[] rather than killing the graph. IS_CHANGED re-fetches on every queue run so the museum's latest listings always make it in.

The structural risk is the same one the whole scraper family carries: it depends on the museum's markup staying put. Museums redesign sites constantly - the Fowler's own CMS has changed before - and when it does, this node can silently return nothing. Keep that in mind when you see empty output.

The inputs

  • ucla_data - required pipeline dict from UCLADailyDataInit.
  • url - defaults to the Fowler events page; override if the museum moves or you want a different view.
  • max_items - 1–20, default 5. Museum calendars are lighter than seminar calendars; five is a sensible card-sized cap.

Outputs

Two: ucla_data (enriched, chainable) and segment_text - the plain-text event list for UCLALobbyCard or UCLANarrator.

Install

ComfyUI Manager → search UCLA Daily, or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/jbrick2070/ComfyUI-UCLADaily.git
pip install qrcode pillow requests

Restart ComfyUI. No keys, no models.

Common issues

Beyond site redesigns, the only real gotcha is network politeness: every queue run is a live scrape, so don't re-run the whole graph repeatedly while you're only tuning a card. Pull once, render, iterate. And if the Fowler calendar is between exhibitions, an empty result is probably honest.

CategoryUCLA Daily/Fetchers

Inputs (3)

NameTypeDefaultDescription
ucla_dataUCLA_DATA
urlSTRINGhttps://fowler.ucla.edu/events/Fowler Museum events page URL.
max_itemsINT51–20Maximum number of events to extract.

Outputs (2)

NameTypeDescription
ucla_dataUCLA_DATA
segment_textSTRING