Python library for scraping viggo assignments
Project description
Viggoscrape.py
Python library for scraping Viggo assignments by interacting with the Viggoscrape API.
The API is designed for danish users, and time will be adjusted to the CET timezone.
Quickstart
Syntax
Viggoscrape.py uses the following syntax:
- Provide subdomain, username and password on class initialization
- Provide optional parameters: date, grouping mode and API version after initialization
- Retrieve a list of assignments using the
get_assignmentsmethod, or retrieve a dictionary of assignment attributes using theget_attributesmethod.
Usage example
Most of the time you'll want to do something like this:
from viggoscrape import Viggoscrape
v = Viggoscrape(
subdomain="example-subdomain",
username="viggouser@gmail.com",
password="password123456"
) # initialization
v.date = "2021-03-14" # get assignments within 2 weeks of this date
print(v.get_assignments()) # get a list of dictionaries representing assignments
The output should look something like this:
[
{
"author": "14. mar 2021 11:09 by Teacher McTeacher",
"date": "Monday 16. Mar",
"description": "Read this and that blablabla, here are some links: https://github.com/nangurepo/ https://viggoscrape.xyz/",
"subject": "History",
"time": "10:45 - 11:30",
"url": "https://subdomain-example.viggo.dk/Basic/HomeworkAndAssignment/Details/1234/#modal"
},
{
"author": "17. mar 2021 18:09 by Other Teacher",
"date": "Tuesday 20. Mar",
"description": "Read page 170-200 of 'To kill a mockingbird'",
"subject": "English",
"time": "12:00 - 12:45",
"url": "https://subdomain-example.viggo.dk/Basic/HomeworkAndAssignment/Details/5678/#modal"
}
]
Swap out v.get_assignments() for v.get_attributes() and it'll look like this:
{
"subject": ["History", "English"],
"date": ["Monday 16. Mar", "Tuesday 20. Mar"],
"description": ["Read this and that blablabla, here are some links: https://github.com/nangurepo/ https://viggoscrape.xyz/", "Read page 170-200 of 'To kill a mockingbird'"],
"author": ["14. mar 2021 11:09 by Teacher McTeacher", "17. mar 2021 18:09 by Other Teacher"],
"url": ["https://subdomain-example.viggo.dk/Basic/HomeworkAndAssignment/Details/1234/#modal", "https://subdomain-example.viggo.dk/Basic/HomeworkAndAssignment/Details/5678/#modal"]
}
This can be used for other purposes.
Do note that if you, for some reason, need to use v1 of the API, data will always be returned as a dictionary of attributes, with the addition of file names and urls. Version 1 of the API uses a more thorough scan, scraping each individual assignment page, carrying a huge sacrifice of efficiency.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file viggoscrape-1.3.0.tar.gz.
File metadata
- Download URL: viggoscrape-1.3.0.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf893f96494ed31a1468c1ea9fd1f500ebe5d344d74c7e3c9e8cb00a1c09f77d
|
|
| MD5 |
1177432b009b06ce484193b1fb7f965c
|
|
| BLAKE2b-256 |
5227fc3381f7e850a319215501f9b18dedee2966002ae7b3444c5bd99b599105
|
File details
Details for the file viggoscrape-1.3.0-py3-none-any.whl.
File metadata
- Download URL: viggoscrape-1.3.0-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34d8d2ea16625a2a1315bc949845511d0f5226ca39266986af663ad5e6dac358
|
|
| MD5 |
75d90faf4bd202e4c468a959e40ad40b
|
|
| BLAKE2b-256 |
5bc9f4fcf86f53a1a24dd0bbdb2b042a2c0b9b540b0bb2192dcb461b5837d4e8
|