ReviewOS

also looking at this

stacks/ts-web-scraper

fix: support structured DOM selectors

#847
Merged chris wants to merge codex/transfermarkt-dom into main
6 files +225 -57
src/pipeline.tsmodified+10-1
Changes to src/pipeline.ts
@@ -347,7 +347,16 @@ export class ExtractionPipeline<TIn = any, TOut = any> {
347347/**
348348 * Built-in extractors for common patterns
349349 */
350export const extractors = {
350export interface Extractors {
351 text: (selector: string) => PipelineStep<Document, string[]>
352 attr: (selector: string, attribute: string) => PipelineStep<Document, string[]>
353 links: (selector?: string) => PipelineStep<Document, string[]>
354 images: (selector?: string) => PipelineStep<Document, Array<{ src: string | null, alt: string | null, title: string | null }>>
355 structured: (selector: string, schema: Record<string, string>) => PipelineStep<Document, Array<Record<string, any>>>
356 jsonLd: () => PipelineStep<Document, any[]>
357}
358
359export const extractors: Extractors = {
351360 /**
352361 * Extract text from elements
353362 */