This program scrapes the correct answers for participation activity questions in a zyBooks section.
The types of questions currently supported are:
- Multiple Choice
- Short Answer
When you load a zybooks section, zybooks makes a get request to one of its APIs which contains every single question and answer on the page in a single JSON object. This program simply makes that get request for itself and filters out the answers from the JSON data.
- Make sure cargo and rust are installed, then clone this repository.
- Run
cargo build --releaseto compile the project. The binary will be in ./target/release/
If you're on Arch Linux, check the releases section for a PKGBUILD file.
- Compile the program for your device
- Go to zyBooks and get the following information:
- your zyBook code (Ex: WebProgrammingR37)
- the chapter and section you want the answers for (Ex: 7.11 Using third-party web APIs (JavaScript); i.e. chapter 7, section 11)
- your zyBooks auth token (See Getting your zyBooks auth token)
- Run the binary from the terminal Ex:
$ zyanswers --auth-token <your token> --chapter <chapter> --section <section> --zybook-code <your zybook code>Caution
DO NOT GIVE ANYBODY YOUR AUTH TOKEN as it is essentially the same as giving them your zyBooks username and password.
This program only uses your token to send a GET request to zyserver.zybooks.com to access the specific chapter and section of your zybook that you requested.
- Go to zybooks.com, log-in, and inspect element.
- Go to the
Storagetab - Navigate into
Local Storage > https://learn.zybooks.com - Click on the cookie that has the key
ember_simple_auth-session-5 - On the right where the data should've appeared, navigate into
authenticated > session > auth_token - The value between the quotes is your auth token.
- Look up how to view cookies in depth (the actual keys and values)
- Navigate to the same cookie described in the Firefox section
I don't provide precompiled binaries because I'm too lazy to. It's really not hard to compile it yourself