Tools Glossary#

Every tool and term used across the course, with one line on what it’s for and where it’s taught.

Use Ctrl+F. Terms are grouped by what you’re trying to do, not alphabetically — you usually know the job, not the name.

Getting data off the web#

TermWhat it is
Hidden / internal APIThe JSON endpoint a page’s own JavaScript calls. Almost always better than parsing HTML → Hidden JSON APIs
httpxModern Python HTTP client; sync + async, HTTP/2, connection reuse
selectolaxVery fast HTML parser; CSS selectors (a lighter alternative to BeautifulSoup)
PlaywrightBrowser automation that renders JavaScript; auto-waits for elements
SeleniumThe older browser-automation standard; manual waits
PatchrightDrop-in Playwright fork patched to hide automation signals
CamoufoxAnti-detect Firefox build with fingerprint spoofing
curl_cffiHTTP client that impersonates a browser’s TLS/JA3 and HTTP/2 fingerprint
CDX APIInternet Archive’s index API — lists every snapshot of a URL
WARCWeb ARChive format; raw request/response records used by Common Crawl
JSON-LDStructured data (schema.org) embedded in a page for search engines
Sitemap indexA sitemap listing other sitemaps; needs one extra level of parsing
robots.txtA site’s machine-readable crawling preferences. Not a law; strong evidence → Legal & Ethical
Crawl-delayA robots.txt directive asking for a minimum gap between requests

Being blocked (and not being blocked)#

TermWhat it is
JA3 / JA4Fingerprints of a TLS handshake; identifies your client before any header is read
HTTP/2 fingerprintIdentification from SETTINGS frames and header ordering
TurnstileCloudflare’s CAPTCHA replacement; usually invisible
Bot scoreCloudflare’s 1–99 automation likelihood; 1 = certainly bot
cf_clearanceCookie proving a challenge was passed; bound to IP + User-Agent
WAFWeb Application Firewall — rule-based request filtering
Verified botA known-good crawler (Googlebot, uptime monitors) that rules should exempt
Exponential backoffDoubling the wait after each failure
JitterRandomness added to backoff so clients don’t retry in lockstep
Retry-AfterHeader telling you exactly how long to wait after a 429
IdempotentSafe to run twice — the second run changes nothing

Storing and querying#

TermWhat it is
SQLiteIn-process OLTP database; ideal for scraper state
DuckDBIn-process OLAP database; SQL over Parquet/CSV/JSON files
ParquetColumnar, compressed file format; 5–10× smaller than CSV
OLTP / OLAPMany small transactions vs few large analytical scans
Content hashHash of meaningful fields, used to detect changes
Stable IDAn identifier for a record that survives re-runs
polarsFast DataFrame library; a Pandas alternative
Dead-letter queueWhere messages go after repeated processing failures

Documents, images, audio, video#

TermWhat it is
trafilaturaExtracts the main article content from a page (drops boilerplate)
markdownifyConverts HTML to Markdown verbatim
MarkItDownMicrosoft converter: PDF/DOCX/PPTX/XLSX → Markdown
Jina ReaderHosted r.jina.ai/<url> → clean Markdown
PyMuPDFFast PDF text and table extraction
DoclingLayout-aware document → structured Markdown
SuryaOpen multilingual OCR and layout analysis
OCROptical Character Recognition — text from images
EXIFImage metadata; can include GPS coordinates
VLMVision-Language Model — reads images and answers in text
Qwen3-VLLeading open-weight vision-language family (2026)
Whisper / faster-whisperSpeech-to-text; faster-whisper is the quicker runtime
ParakeetNVIDIA STT; fastest self-hosted English throughput
WhisperXWhisper plus word-level alignment and speaker diarization
DiarizationWorking out who spoke when
WERWord Error Rate — the standard STT accuracy metric
ffmpeg / ffprobeConvert/extract media; inspect media metadata

Recon and OSINT#

TermWhat it is
OSINTOpen-Source Intelligence — findings assembled from public sources
DorkingUsing advanced search operators to find specific content
GHDBGoogle Hacking Database — catalogue of exposure patterns
Certificate TransparencyPublic append-only logs of issued TLS certificates
crt.shSearch interface over CT logs
RDAPThe modern, structured replacement for WHOIS
Subdomain enumerationDiscovering hostnames for a domain (amass, subfinder)
Shodan / CensysSearch engines for internet-facing services
CorroborationConfirming a claim across independent sources before asserting it
ProvenanceThe record of where a claim came from and when
Aggregation harmIndividually-public facts becoming harmful once combined
Gitleaks / TruffleHogSecret scanners for git history

Security, cloud, CI/CD#

TermWhat it is
Prompt injectionUntrusted text being treated as instructions by a model
Indirect injectionInjection delivered through content the model reads
OWASP LLM Top 10The reference list of LLM application risks
Least privilegeGranting only the permissions strictly required
Multi-stage buildA Dockerfile pattern keeping build tools out of the final image
Layer cacheDocker’s reuse of unchanged build steps
Cold startFirst-request latency after scaling to zero
Scale to zeroRunning no instances (and paying nothing) when idle
IaCInfrastructure as Code — declared in version-controlled files
Terraform stateTerraform’s record of what actually exists; never commit it
DriftReal infrastructure diverging from the declared config
WIFWorkload Identity Federation — cloud auth without long-lived keys
At-least-once deliveryA message may arrive more than once; consumers must be idempotent
Pub/SubPublish–subscribe messaging; decouples producers from consumers

Course-wide#

TermWhat it is
uvFast Python package/project manager used throughout
PEP 723Inline script metadata — dependencies declared in the file itself
RAGRetrieval-Augmented Generation
MCPModel Context Protocol
OIDCOpenID Connect
Structured outputForcing a model to return schema-valid JSON