Documentation
¶
Overview ¶
Package psmutil scrapes sites running PornSiteManager — a multi-tenant adult CMS hosted at gcs.pornsitemanager.com that powers the Frenchporn network (Citebeur, Eurocreme, Hard Kinks, AlphaMales, …) and likely other brands too. Every site exposes its catalog through a JSON-LD ItemList embedded directly in the HTML, so a clean scraper doesn't need detail-page fetches at all.
Detection signals:
- `gcs.pornsitemanager.com` referenced for thumbs / favicons.
- Listing pages at `{base}/{locale}/videos` (locale is typically `en`).
- `<script type="application/ld+json">` containing `{"@type": "ItemList", "itemListElement": [...]}` with 12 `VideoObject` entries per page.
- Pagination via `?page=N`; past-end pages return HTTP 200 with zero items.
- Scene URL form: `/{locale}/videos/detail/{ID}-{slug}` (numeric ID + slug).
JSON-LD VideoObject fields used:
{
"url": "https://www.citebeur.com/en/videos/detail/46311-hey-bro",
"name": "Hey bro, let's fuck him together",
"thumbnailUrl": "https://gcs.pornsitemanager.com/store/.../hd/img.jpg",
"datePublished": "2026-05-27",
"description": "When Kalys arrives at the underground parking lot…",
"actor": [ {"name": "Choppeur"}, {"name": "Kévin Frenchboy"}, … ]
}
What's NOT in the JSON-LD (and skipped for now): duration, scene-specific tags. The HTML has duration in some sites' player markup but not uniformly; tags exist only as global sidebar category lists, not scene-specific.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Scraper ¶
type Scraper struct {
// contains filtered or unexported fields
}
func New ¶
func New(cfg SiteConfig) *Scraper
func (*Scraper) ListScenes ¶
func (*Scraper) MatchesURL ¶
type SiteConfig ¶
type SiteConfig struct {
ID string
SiteBase string // e.g. "https://www.citebeur.com" — no trailing slash
Studio string
Locale string // typically "en"; falls back to "en" if zero
Patterns []string
MatchRe *regexp.Regexp
}
SiteConfig describes one PornSiteManager-backed site.