sapphix

package
v1.33.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2026 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Overview

Package sapphix scrapes the Sapphix lesbian/glamour network, which runs a shared CMS across several standalone domains (sapphix.com, sapphicerotica.com, fistflush.com, givemepink.com). It is a table-driven package: one scraper is registered per site in init().

The public listing is paginated newest-first at /movies/page-{N}/ and each card links to a detail page at /movies/{slug}/. The scene slug is the ID. Listing cards carry the title, MM/DD/YYYY date and thumbnail; detail pages add the description, featured models and tags.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Scraper

type Scraper struct {
	Client *http.Client
	// contains filtered or unexported fields
}

Scraper implements scraper.StudioScraper for a single Sapphix-CMS site.

func New

func New(cfg SiteConfig) *Scraper

New constructs a Scraper for the given site config.

func (*Scraper) ID

func (s *Scraper) ID() string

func (*Scraper) ListScenes

func (s *Scraper) ListScenes(ctx context.Context, _ string, opts scraper.ListOpts) (<-chan scraper.SceneResult, error)

func (*Scraper) MatchesURL

func (s *Scraper) MatchesURL(u string) bool

func (*Scraper) Patterns

func (s *Scraper) Patterns() []string

type SiteConfig

type SiteConfig struct {
	SiteID     string // stable lowercase id, e.g. "sapphicerotica"
	Domain     string // bare domain, e.g. "sapphicerotica.com"
	StudioName string // display name, e.g. "Sapphic Erotica"
}

SiteConfig describes one site served by the shared Sapphix CMS.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL