Daily PDF Keyword GitHub Action

via Freelancer ·

Budget / Salary$30–250
TypeFreelance project
LocationRemote
Posted2 hours ago
I want to create a host in a public repository that should check the official bulletin site of the Province of Chubut ( https://boletin.chubut.gov.ar/ ) once every 24 hours. Each day’s bulletin is a text-based PDF, so the workflow simply needs to download the newest publication, search it for a single keyword that I will configure through a repository secret, and, when a match is found, e-mail me the entire section (not a summary) where that word appears.

What I expect from you
• A reusable GitHub Action defined in a `.github/workflows/boletin-watch.yml` file that runs on a cron schedule.
• A companion script (Python preferred, but Bash/Node acceptable) that:
– Locates the latest daily PDF on the site.
– Extracts full, searchable text (pdfminer.six, PyPDF2, or similar).
– Splits the text into logical sections (page or paragraph granularity is fine) and tests for the keyword in a case-insensitive way.
– When found, compiles the entire matching section(s) into an email body and sends it to the address stored in `EMAIL_TO`.

Configuration & secrets to support in the workflow
`KEYWORD`, `EMAIL_TO`, `EMAIL_FROM`, and either SMTP credentials or an API key (SendGrid, Mailgun, etc.)—whichever you choose for the mail helper.

Acceptance criteria
• One-click setup: cloning the repo, adding the four secrets, and pushing to `main` is all that’s needed for the Action to begin its daily run.
• The email subject line clearly states the date of the bulletin and that at least one match was found.
• If no match occurs, the Action finishes silently (or shows a green tick) without sending email.
• All dependencies are declared in `requirements.txt` (or the relevant manifest).
• A concise `README.md` explains configuration, how to test locally, and how to adjust the schedule.

Feel free to recommend improvements—caching, retries, or alternate parsing tools—so long as the core deliverable stays lean and easy to maintain.
python web scraping software architecture html node.js email handling automation bash
Apply on Freelancer →

Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.