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.
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.
- 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.
- Node.js 22 or compatible
- npm
Install dependencies:
npm installRun the development server:
npm run devOpen the app in your browser:
http://localhost:3000
- Choose an exam provider from the dropdown.
- Enter the exam code, for example
CLF-C02. - Click
Start. - Wait while the app finds discussion links and parses the questions.
- 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.
If you are interested to run it over Docker, Please follow the steps below:
- Build the image:
docker build -t examscraper:latest .- Run the container:
docker run -p 8081:8081 --name examscraper examscraper:latest- Open:
http://localhost:8081
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 testsThe 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.
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
PRs, issues, and suggestions are welcome!