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

UCLA Daily: CS Fetch

CS seminars from UCLA's server-rendered events page

By jbrick2070·Created 5 months ago·Updated 5 months ago· 0
UCLA Daily: CS Fetch
  • ucla_data
  • ucla_data
  • segment_text
urlhttps://www.cs.ucla.edu/events/
max_items10

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.

CategoryUCLA Daily/Fetchers

Inputs (3)

NameTypeDefaultDescription
ucla_dataUCLA_DATA
urlSTRINGhttps://www.cs.ucla.edu/events/UCLA CS department events page URL.
max_itemsINT101–30Maximum number of events to extract.

Outputs (2)

NameTypeDescription
ucla_dataUCLA_DATA
segment_textSTRING