Documentation
¶
Overview ¶
Package zone8 scrapes Zone 8 Media's two tours, englishlads.com and fityoungmen.com.
Neither has a paginated listing worth walking: English Lads' updates are reachable only through its sitemap, and Fit Young Men's `/videos` page is a rotating selection. Both publish a complete `sitemap.xml`, and both encode the shoot id — and on English Lads the publication date — directly in the URL, so the sitemap alone gives an ordered work list before a single detail page is fetched.
The two sites share a publisher and a URL convention but not a page template, so each has its own detail parser:
- English Lads: `/video-{YYYY-MM-DD}-{id}-{N|Y}-{slug}`, with an `<h3 class="title">` naming the model, a `<p class="description">`, and a `premium-descriptive-tags` list carrying the runtime and, on pay-per-view updates, a price in GBP.
- Fit Young Men: `/{section}-{id}-{slug}`, with the model, sport and title split across spans of one `<h1>`, a `Published: 9 Aug 26` line, and a `model-profile-model-description` paragraph.
Photo sets share the URL space on both sites and are excluded: English Lads prefixes them `photo-`, and on Fit Young Men only the sections listed in `sceneSections` are shoots rather than index pages.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Scraper ¶
func New ¶
func New(cfg SiteConfig) *Scraper
func (*Scraper) ListScenes ¶
func (*Scraper) MatchesURL ¶
type SiteConfig ¶
type SiteConfig struct {
SiteID string
Domain string
StudioName string
Template Template
// Currency is the ISO code prices on this tour are quoted in; empty means
// the tour quotes none, which is what gates price recording. It is not
// stored with the snapshot — models.PriceSnapshot has no currency field —
// so it exists to say out loud that English Lads' figures are pounds, not
// the dollars every other priced scraper in FSS records.
Currency string
}
SiteConfig describes one tour.