UCLA Daily: CS Fetch
CS seminars from UCLA's server-rendered events page
- ucla_data
- ucla_data
- segment_text
UCLACSFetch scrapes UCLA Computer Science's event page - the old-school kind of page where the HTML arrives fully formed in the response, so a plain regex-and-stdlib node can actually read it. That's the whole appeal: no JavaScript rendering, no API key, just a fetch, some parsing, and a list of seminars and talks you can pipe into a lobby card or a morning brief.
It's one of the UCLA Daily pack's live fetchers, and one of the scraper-style ones (alongside Fowler, Hammer, and SEIS) rather than the RSS ones. The pack, by Jeffrey A. Brick, aggregates UCLA campus news and events for a 1920x1080 lobby display. Every fetcher follows the same contract: UCLA_DATA in, UCLA_DATA plus segment_text out, chainable in any order.
How it works
It hits https://www.cs.ucla.edu/events/ by default and extracts event links and text from the server-rendered HTML. The author notes the detail pages follow a predictable pattern (https://www.cs.ucla.edu/upcoming-events/{slug}/), which the deep-dive card later uses for enrichment. HTTP goes through the shared helper - requests with a urllib fallback - and failures land in errors[] without crashing the graph. IS_CHANGED makes it re-fetch every queue run.
The honest caveat baked into this design: HTML scraping breaks when the site changes its markup. The author bakes in graceful degradation because it's a matter of when, not if. If the CS site gets redesigned and the node starts returning nothing, that's the failure mode you'll see - and the fix is usually waiting for a pack update.
The inputs
- ucla_data - required pipeline dict from
UCLADailyDataInit. - url - defaults to the CS events page. Override only if the department moves.
- max_items - 1–30, default 10. CS seminar seasons are busy; 10 is a sane cap for a card.
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:
cd ComfyUI/custom_nodes
git clone https://github.com/jbrick2070/ComfyUI-UCLADaily.git
pip install qrcode pillow requests
Restart ComfyUI. No model files, no keys.
Common issues
Beyond the site-redesign risk, watch the rate on IS_CHANGED - every run is a live scrape of a third-party site you don't control. Be polite with queue-spam while you tweak card layout; pull once, render, iterate. And if a scrape comes back empty on a holiday week, that's probably an actual empty events calendar, not a broken node.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| ucla_data | UCLA_DATA | — | |
| url | STRING | https://www.cs.ucla.edu/events/ | UCLA CS department events page URL. |
| max_items | INT | 101–30 | Maximum number of events to extract. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| ucla_data | UCLA_DATA | — |
| segment_text | STRING | — |