com um clique
scrape-gyldendal
Scrape Gyldendal modultest exercises into seed data
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Scrape Gyldendal modultest exercises into seed data
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Manage the project backlog — add, list, filter, update, prioritize, and suggest work items
Daily session wrapper — start with backlog, work, commit, retro
End-of-session retrospective — summarize work, update backlog statuses, update MEMORY.md
Commit, branch, PR, self-review, fix — then stop for human approval before merge
Pre-flight for parallel work — pick items, check file overlap, set statuses, generate terminal commands
Manage project backlog — add, list, filter, update, prioritize, suggest
| name | scrape-gyldendal |
| description | Scrape Gyldendal modultest exercises into seed data |
| user-invocable | true |
Scrape Danish module mock tests from modultest.ibog.gyldendal.dk (Gyldendal's official Nuxt.js/Typo3 SPA) and convert them into DanskPrep seed data.
Use when the user wants to:
cd scripts
uv sync
uv run playwright install chromium
Credentials in environment (never hardcode):
GYLDENDAL_USER=you@email.com
GYLDENDAL_PASS=yourpassword
# PD3M2 (default output: src/data/seed/exercises-pd3m2.json)
GYLDENDAL_USER=you@email.com GYLDENDAL_PASS=secret \
uv run python scrape-gyldendal.py --module 3
# Custom output path
uv run python scrape-gyldendal.py --module 3 \
--output src/data/seed/exercises-pd3m2.json
# Dump all captured API calls for debugging
uv run python scrape-gyldendal.py --module 3 --dump-api
The site is a Nuxt.js SPA with a Typo3 /api backend. The scraper uses two strategies in parallel:
Playwright intercepts all network responses from /api/* and H5P content endpoints.
If API responses contain no parseable exercises, the scraper reads H5P iframe DOMs.
| Gyldendal / H5P type | DanskPrep type |
|---|---|
multiple-choice, true-false | multiple_choice |
fill-in-the-blanks, drag-the-words | cloze |
drag-and-drop, word-ordering | word_order |
short-answer, essay | type_answer |
"REVIEW" — these items need a correct answer added manuallycd scripts && uv run python seed-database.pyOnly scrape content from accounts you own or have licensed access to. The scraped exercises are for personal study use only and should not be redistributed. The source: "gyldendal" field marks their origin.