This repo aims to make it possible for you to obtain all the exam questions from the examtopics website (which is paywalled).
- Make sure docker is installed on your system.
- Pull the docker image:
docker pull ghcr.io/thatonecodes/examtopics-downloader:latest3. Run the container:
docker run -it \
--name examtopics-downloader \
ghcr.io/thatonecodes/examtopics-downloader:latest \
-p google -s devops \
-save-links -o output.md
docker cp examtopics-downloader:/app/output.md .
docker cp examtopics-downloader:/app/saved-links.txt .
docker rm examtopics-downloaderNote
If seeing exec: format exec error or warnings about unsuportted platforms, if you are on linux/arm64, modify the docker cmd to:
docker run -it \
--name examtopics-downloader \
--platform linux/arm64 \
ghcr.io/thatonecodes/examtopics-downloader:latest \
-p google -s devops \
-save-links -o output.md
docker cp examtopics-downloader:/app/output.md .
docker cp examtopics-downloader:/app/saved-links.txt .
docker rm examtopics-downloadergit clone https://github.com/thatonecodes/examtopics-downloaderand make sure docker is installed on your system.- Run
docker build -t examtopics-dl . && docker run --rm examtopics-dl -p google -s devops -save-links -o output.md - After setup, it will give you a list of exams with the
ciscoprovider.
- First, you must install Golang >= 1.24 from the offical website.
- Then, run
git clone https://github.com/thatonecodes/examtopics-downloaderin your terminal to clone the repo. cdinto the directory:cd examtopics-downloader- You can now run:
go run ./cmd/main.go -p cisco -exams
(there will be compiled binaries in the future)
Each command line argument you can provide when running the program:
-c Optionally include all the comment/discussion text
-exams
Optionally show all the possible exams for your selected provider and exit
-no-cache
Optional argument, set to disable looking through cached data on github
-o string
Optional path of the file where the data will be outputted (default "examtopics_output.md")
-p string
Name of the exam provider (default -> google) (default "google")
-s string
String to grep for in discussion links (required)
-save-links
Optional argument to save unique links to questions
-t string
Optional argument to make cached requests faster to gh api
-type string
Optionally include file type (default -> .md) (default "md")
| Provider (-p) | View Exams | Notes |
|---|---|---|
| amazon | Amazon Exams | AWS Certs |
| cisco | Cisco Exams | |
| comptia | CompTIA Exams | |
| salesforce | Salesforce Exams | |
| fortinet | Fortinet Exams | |
| juniper | Juniper Exams | |
| isaca | ISACA Exams | |
| vmware | VMware Exams | |
| isc2 | ISC2 Exams | CISSP etc |
| servicenow | ServiceNow Exams | |
| Google Exams | ||
| microsoft | Microsoft Exams | |
| ec-council | EC-Council Exams | CEH etc |
| oracle | Oracle Exams | |
| paloaltonetworks | Palo Alto Networks Exams |
Note
The more the amount of exams/discussion the provider has, the longer it will take to scrape through the exams.
This is a bool flag, so the default is that it's set to false, deactivated. If -save-links is false -output-save-links will do nothing.
-output-save-links is a string which includes the output path for the saved links, default is saved-links.txt.
The -s argument can take an exam ID (ex. 200-301) or a word, such as "devops". for example:
go run . -p google -s devopswould get all exams from the google provider containing the string devops.
The -c argument is another bool flag, so it is defaultly set to false(as it creates a lot of noise in the .md file), but you can include it by adding the flag.
-o is the output path, based on os.create(path), in the current working directory.
This argument will display output defaulted to such as and exit immediately.
Exams for provider 'google'
https://www.examtopics.com/exams/google/adwords-fundamentals/
https://www.examtopics.com/exams/google/associate-android-developer/
https://www.examtopics.com/exams/google/associate-cloud-engineer/
https://www.examtopics.com/exams/google/associate-data-practitioner/
https://www.examtopics.com/exams/google/associate-google-workspace-administrator/
https://www.examtopics.com/exams/google/cloud-digital-leader/
https://www.examtopics.com/exams/google/display-advertising/
https://www.examtopics.com/exams/google/google-analytics/
https://www.examtopics.com/exams/google/gsuite/
https://www.examtopics.com/exams/google/individual-qualification/
https://www.examtopics.com/exams/google/mobile-advertising/
https://www.examtopics.com/exams/google/professional-chromeos-administrator/
https://www.examtopics.com/exams/google/professional-cloud-architect/
https://www.examtopics.com/exams/google/professional-cloud-database-engineer/
https://www.examtopics.com/exams/google/professional-cloud-developer/
https://www.examtopics.com/exams/google/professional-cloud-devops-engineer/
https://www.examtopics.com/exams/google/professional-cloud-network-engineer/
https://www.examtopics.com/exams/google/professional-cloud-security-engineer/
https://www.examtopics.com/exams/google/professional-collaboration-engineer/
https://www.examtopics.com/exams/google/professional-data-engineer/
https://www.examtopics.com/exams/google/professional-google-workspace-administrator/
https://www.examtopics.com/exams/google/professional-machine-learning-engineer/
https://www.examtopics.com/exams/google/search-advertising/
https://www.examtopics.com/exams/google/shopping-advertising/
https://www.examtopics.com/exams/google/video-advertising/
When you add you Github PAT, it allows for more requests to the API, (up to 5000) which is needed when scraping bigger things.
The cached data helps you access big dumps faster.
When you add this argument, it tells the program to ignore the cached Github repoitories of updated exam info, however the scraper will take longer than the cache.
Useful when wanting to scrape realtime data.
When you use the -type argument, it tells the program to convert the default filetype of .md files to the option of your choice.
Currently we have these types supported:
html-> generatesexamtopics_output.htmlpdf-> generatesexamtopics_output.pdftxt-> generatesexamtopics_output.txt
Note
Files are kept in same/similar format as you would see in the .md file, for formatting changes, use other arguments.
So, you have installed go on your system, and you're inside of the working directory. Let's say you would like the questions for the cisco exam 200-301.
Open your terminal and run:
go run . -p cisco -s 200-301Note that you can put the id as the string to look for, as the program is compatible this way also.
After waiting a few moments, you would see the output end with:
Successfully saved output to {OUTPUT_LOCATION}.If so, hooray, you have successfully saved all/most of the questions in a .md file!
The format would be such as (older, only scraping format):
----------------------------------------
## Exam 200-301 topic 1 question 532 discussion
Actual exam question from
Cisco's
200-301
Question #: 532
Topic #: 1
[All 200-301 Questions]
Refer to the exhibit. An engineer configured NAT translations and has verified that the configuration is correct. Which IP address is the source IP after the NAT has taken place?
Suggested Answer: D 🗳️
A. 10.4.4.4
B. 10.4.4.5
C. 172.23.103.10
D. 172.23.104.4
**Answer: D**
**Timestamp: Jan. 5, 2021, 9:48 p.m.**
[View on ExamTopics](https://www.examtopics.com/discussions/cisco/view/41599-exam-200-301-topic-1-question-532-discussion/)
----------------------------------------