Back to projects

Data / Automation script

University Job Scraper

A Requests and BeautifulSoup scraper for UF job listings that pairs result rows with summaries and composes an email report.

PythonBeautifulSoupRequestsSMTP
View repository
UNIVERSITY JOB SCRAPER
DISCOVER → COLLECT → STRUCTURE

01 / COMPONENTS & DATA FLOW

Inside the system.

  1. 01UF jobs HTML
  2. 02BeautifulSoup rows
  3. 03Normalized listings
  4. 04Email report

Targeted HTML extraction

The scraper fetches a filtered UF jobs page and locates the search-results-content table body. It processes alternating primary and summary rows.

Listing data shape

Each listing carries title, link, department, location, closing date, and summary. The implementation returns the first 20 parsed jobs.

Message composition

An SMTP path builds an email from the collected listings using environment-provided mail configuration. The script logs its run and invokes the scraper once from its entry point.

02 / IMPLEMENTATION DECISIONS

Why it works this way.

A site-specific parser

Pairing adjacent rows is simple and matches the expected page structure. It also makes the scraper sensitive to changes in that HTML layout.

Keep scheduling claims separate

The published entry point performs one run. Scheduling can be supplied externally, but the script is not a distributed crawling service or a built-in scheduler.

03 / SCOPE & TRADEOFFS

The implementation boundary.

A targeted automation script. It does not establish multi-node crawling, durable deduplication, or delivery guarantees.

04 / READ THE IMPLEMENTATION

Follow it into the code.