xsinsvr

package
v1.30.0 Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2026 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Overview

Package xsinsvr scrapes XSinsVR (xsinsvr.com), a VR site on a bespoke server-rendered Nette (PHP) app. There is no JSON API — /api/fallback/{id} only 302s to a player stub — so both listing and detail are parsed from HTML.

XSinsVR is an aggregator as well as a studio: alongside its own SinsVR content it licenses catalogues from other brands (18VR, BadoinkVR and per-model studios). Each scene carries its originating studio, which is recorded in Scene.Studio, so scenes licensed from a brand FSS also scrapes directly will legitimately appear in both stores.

The listing (15/page) gives title, URL, thumbnail, preview, performers, studio and sometimes duration. The scene id, release date, description and tags exist only on the detail page, so every scene needs a detail fetch.

Ordering caveat: the listing is sorted by release date, not by scene id — a re-release can carry a low id yet a recent date. The KnownIDs early-stop is still sound because it matches on the id set rather than assuming ids increase, but nothing here may assume id order.

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
}

Scraper implements scraper.StudioScraper for XSinsVR.

func New

func New() *Scraper

New constructs an XSinsVR scraper.

func (*Scraper) ID

func (s *Scraper) ID() string

func (*Scraper) ListScenes

func (s *Scraper) ListScenes(ctx context.Context, studioURL 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

Jump to

Keyboard shortcuts

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