Skip to content

Repository files navigation

ExamTopics Scraper

A small Next.js app for scraping ExamTopics question discussions into a local JSON file and reviewing the questions in a simple practice interface.

This project is intended for personal learning and research only.

Disclaimer

Respect ExamTopics terms of service, privacy policy, and content ownership. Use this project responsibly, only for legitimate purposes, and only where you have the right to access and store the content.

Features

  • Select an exam provider and exam code.
  • Scrape matching ExamTopics discussion pages.
  • Export the scraped questions as a JSON file.
  • Import a previously exported JSON file.
  • Review questions in order or randomly.
  • Show answers, answer descriptions, votes, and comments.
  • Mark questions and save personal notes in the browser.

Requirements

  • Node.js 22 or compatible
  • npm

Getting Started

Install dependencies:

npm install

Run the development server:

npm run dev

Open the app in your browser:

http://localhost:3000

How to Use

  1. Choose an exam provider from the dropdown.
  2. Enter the exam code, for example CLF-C02.
  3. Click Start.
  4. Wait while the app finds discussion links and parses the questions.
  5. Export the results as JSON, or go to the exam page to review the questions.

To use an existing export, click Import JSON File or Load JSON File and select a saved .json file.

For you convinace, you have an example JSON file amazon-clf-c02.json for usage.

Docker

If you are interested to run it over Docker, Please follow the steps below:

  1. Build the image:
docker build -t examscraper:latest .
  1. Run the container:
docker run -p 8081:8081 --name examscraper examscraper:latest
  1. Open:
http://localhost:8081

Scripts

npm run dev      # Start the Next.js development server
npm run build    # Build the production app
npm run start    # Start the production server
npm run lint     # Run Next.js linting
npm run test     # Run Jest tests

Data Storage

The current exam data is saved in the browser's localStorage. Export your questions to JSON if you want a backup or want to move the data to another browser or machine.

Attribution

This project is based on work from boldfellow/examscraper:

https://hub.docker.com/r/boldfellow/examscraper

Special thanks to @boldfellow for the original implementation.

Repository:

https://github.com/Aviel-Amitay/examscraper

🙌 Contributions

PRs, issues, and suggestions are welcome!

About

Dev project for learning purpose only. Credit to: https://hub.docker.com/r/boldfellow/examscraper

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages