/web-scraper-college-fsu-jobs

A simple web scraping project that allows you to scrape a specific website for information and sends an email notification when there is a difference in the scraped data.

Primary LanguageJavaScript

Web Scraper ๐Ÿ”

This is a simple web scraping project that allows you to scrape a specific website for information and sends an email notification when there is a difference in the scraped data. The scraping task can be scheduled to run periodically using cron expressions.


โœจ Features

  • Web scraping using Cheerio, Axios, Express and Nodemailer
  • Automated scraping task with scheduling using cron expressions
  • Email notifications for changes in scraped data

๐Ÿ”‘ Prerequisites

  • Node.js
  • npm

๐Ÿš€ Getting Started

  1. Clone the repository:
git clone https://github.com/vivianebresolin/web-scraper-college-fsu-jobs.git
  1. Install the dependencies:
cd web-scraper-college-fsu-jobs
npm install
  1. Set up environment variables:
Create a new .env file in the project directory.
Add the following variables to the .env file:
  EMAIL=your email
  EMAIL_PASSWORD=your email password or app password
  1. Configure the web scraper:
Open index.js and update the target website URL, data extraction logic, and email configuration
  1. Start the server:
npm run start

You can also manually trigger a scraping:


โš™๏ธ Configuration

index.js: This is the main script file that handles web scraping, data comparison, and email notifications. Update the configuration parameters in this file.


๐Ÿ“ฆ Dependencies

  • axios: "^1.4.0"
  • cheerio: "^1.0.0-rc.12"
  • dotenv: "^16.3.1"
  • express: "^4.18.2"
  • node-cron: "^3.0.2"
  • nodemailer: "^6.9.3"
  • nodemon: "^3.0.1" (devDependencie)

๐Ÿค Contributing

Contributions are welcome! If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request.



Made with ๐Ÿงก and โ˜• | Find me on LinkedIn