Giter Site home page Giter Site logo

examtopicsquizmaker's Introduction

ExamTopics Scraper & Quiz Creator

What is this?

This is a Python-built CLI quiz for quizzes from ExamTopics. It gets questions from pages (saved locally as HTML at the moment), shuffles them, you pick answers and then you are shown a final score and then questions you got wrong are written in a .txt file. Correct answers are taken from the discussions.

It looks like this (example from the Google ACE exam, obviously without the red markings):

how_it_looks

⚠️ READ BEORE YOU START

This was initially tested on Windows and seems to work alright on this OS.

⚠️ As tested, saving a page with CTRL+s in ChromeOS does not save it in HTML by default, as needed by the application. In the dropdown menu, you have to select "Webpage, HTML Only".

html_only

How do I get it working?

Note for ACE: If you want the quiz for Google Associate Cloud Engineer, you can get the needed HTML file here. Just unzip the archive and put it in a directory named res in the ExamTopicsQuizMaker directory AFTER you clone it and jump to step 6.

  1. Clone the repository with git clone https://github.com/awfulwaffle77/ExamTopicsQuizMaker.git or by going in the upper part of the page, clicking Code > Download ZIP (and unzip the archive)
  2. Create a new directory in the directory of the repository(inside ExamTopicsQuizMaker), named res
  3. Go to the exam page that you want (ex. https://www.examtopics.com/exams/google/associate-cloud-engineer/view/)
  4. CTRL+s to save the page. It has to be HTML. Save it in the res directory
  5. Repeat for all pages in the exam

The structure of the folder should now be:

📁ExamTopicsQuizMaker
 |-> 📄 main.py
 |-> 📄 requirements
 |-> 📄 quiz.py
 |-> 📄 _classes.py
 |-> 📁 res
 |-> 📄 all pages needed, in HTML format

  1. Install requirements with pip install -r requirements
  2. Run main.py with python main.py or however your python3 command is called
  3. Choose how many questions you want per run. This is if you want to have a set of only n question before finishing and checking for wrong questions, where n is the number you choose
  4. Choose if you want the correct answer shown immediately after giving an answer or choose "no" if you want to only check the file at the end of the quiz (a file is generated anyway)
  5. Answer the questions
  6. Review the .txt file that has been created when you have started the quiz

Steps with images

Create the res directory after cloning the repository

step1

Go to the exam page and save it

step2

How the res directory should look after saving all the needed pages

step3

Run main.py & get your quizzes done!

step4

Can't you automate these steps?

Yes and no. Due to the fact that ExamTopics uses a lot of captchas, this automation process would be accessible to people with contributor access, as that disables captchas.

Status

At this moment (5th of May 2022):

  • scraping is done correctly from the HTML of ExamTopics pages.
  • quizzes seem to be looking fine

Bug reports

If you encounter any type a bug, please let me know by creating an issue.

Types of questions

I am aware that there is at least one question with multiple answers. To answer those questions you have to write both answers concatenated, without space. For example, if the correct answers are B and E, you have to write BE.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.