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:latest
3. 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-downloader
Note
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-downloader
git clone https://github.com/thatonecodes/examtopics-downloader
and 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
cisco
provider.
- First, you must install Golang >= 1.24 from the offical website.
- Then, run
git clone https://github.com/thatonecodes/examtopics-downloader
in your terminal to clone the repo. cd
into 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
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 devops
would 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.
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-301
Note 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/)
----------------------------------------
More options for formatting are coming soon.