stash
This commit is contained in:
231
stash/config/scrapers/community/Kink/Kink.yml
Normal file
231
stash/config/scrapers/community/Kink/Kink.yml
Normal file
@@ -0,0 +1,231 @@
|
||||
name: Kink
|
||||
sceneByURL:
|
||||
- action: scrapeXPath
|
||||
url:
|
||||
- kink.com
|
||||
scraper: sceneScraper
|
||||
|
||||
sceneByFragment:
|
||||
action: scrapeXPath
|
||||
queryURL: https://www.kink.com/shoot/{filename}
|
||||
# constructs the scene URL from the filename, provided that the filename includes the scene id
|
||||
queryURLReplace:
|
||||
filename:
|
||||
# the id in kink.com is a 1-6 digit number
|
||||
- regex: ^(\d+)[^\d].* # support filenames in the form 12345_performer_other_data.mp4
|
||||
with: $1
|
||||
- regex: .*\((\d+)\)\.[a-zA-Z\d]+$ #support filenames in the form scene - date - performer (12345).mp4
|
||||
with: $1
|
||||
scraper: sceneScraper
|
||||
performerByName:
|
||||
action: scrapeXPath
|
||||
queryURL: https://www.kink.com/search?type=performers&q={}
|
||||
scraper: performerSearch
|
||||
performerByURL:
|
||||
- action: scrapeXPath
|
||||
url:
|
||||
- kink.com/model
|
||||
scraper: performerScraper
|
||||
|
||||
xPathScrapers:
|
||||
sceneScraper:
|
||||
scene:
|
||||
Title:
|
||||
selector: //h1[contains(@class, "fs-0")]
|
||||
postProcess:
|
||||
- replace:
|
||||
- regex: ^\s*(.*)\s*$
|
||||
with: $1
|
||||
Code: //div[@data-shootid]/@data-shootid
|
||||
Date:
|
||||
selector: //div[@data-setup]/@data-setup
|
||||
postProcess:
|
||||
- replace:
|
||||
- regex: ^.*"publishedDate":"([^T]+).*$
|
||||
with: $1
|
||||
- parseDate: 2006-01-02
|
||||
Director: //span[contains(@class, "director-name")]
|
||||
Studio:
|
||||
Name:
|
||||
selector: //a[contains(@href, "/channel/") and contains(@class, "text-uppercase")]/@href
|
||||
postProcess:
|
||||
- replace:
|
||||
- regex: /channel/
|
||||
with: ""
|
||||
- map:
|
||||
# List of sites as of 2024-01-04 from https://www.kink.com/channels
|
||||
# [...new Set([...document.querySelectorAll('h3 > a')]
|
||||
# .map(a => a.href.split("/").pop() + ": " + a.innerText))]
|
||||
# .toSorted()
|
||||
# .join("\n")
|
||||
analized: Analized
|
||||
animated-kink: Animated Kink
|
||||
ashley-fires-scifi-dreamgirls: Ashley Fires SciFi Dreamgirls
|
||||
aziani-iron: Aziani Iron
|
||||
badfam-pov: Bad Family POV
|
||||
ball-gaggers: Ball Gaggers
|
||||
banana-jacks: Banana Jacks
|
||||
bifuck: BiFUCK
|
||||
bizarre-video-transsexual: Bizarre Video Transsexual
|
||||
bizarre-video: Bizarre Video
|
||||
bleu-films: Bleu Films
|
||||
bondage-liberation: Bondage Liberation
|
||||
bound-gang-bangs: Bound Gang Bangs
|
||||
bound-men-wanked: Bound Men Wanked
|
||||
brutal-sessions: Brutal Sessions
|
||||
carmen-rivera: Carmen Rivera
|
||||
cfnmeu: CFNMEU
|
||||
ddf-network: DDF Network
|
||||
deviant-hardcore: Deviant Hardcore
|
||||
device-bondage: Device Bondage
|
||||
digital-sin: Digital Sin
|
||||
divine-bitches: Divine Bitches
|
||||
dungeon-sex: Dungeon Sex
|
||||
electrosluts: Electrosluts
|
||||
everything-butt: Everything Butt
|
||||
evolved-fights-lesbian-edition: Evolved Fights Lesbian Edition
|
||||
evolved-fights: Evolved Fights
|
||||
families-tied: Families Tied
|
||||
fembot-academy: Fembot Academy
|
||||
femdum: FemDum
|
||||
femme-fatale-films: Femme Fatale Films
|
||||
fetishnetwork: FetishNetwork
|
||||
filth-syndicate: Filth Syndicate
|
||||
filthy-femdom: Filthy Femdom
|
||||
foot-worship: Foot Worship
|
||||
fucking-machines: Fucking Machines
|
||||
gangbang-chief: Gangbang Chief
|
||||
gloryhole-secrets: Gloryhole Secrets
|
||||
hardcore-gangbang: Hardcore Gangbang
|
||||
hardcore-punishments: Hardcore Punishments
|
||||
harmony-fetish: Harmony Fetish
|
||||
hogtied-up: Hogtied Up
|
||||
hogtied: Hogtied
|
||||
hot-legs-and-feet: Hot Legs & Feet
|
||||
house-of-taboo: House Of Taboo
|
||||
kink-classics: Kink Classics
|
||||
kink-features: Kink Features
|
||||
kink-test-shoots: Kink Test Shoots
|
||||
kink-university: Kink University
|
||||
kinklive: KinkLive
|
||||
kinky-bites: Kinky Bites
|
||||
lakeview-entertainment: Lakeview Entertainment
|
||||
machine-dom: Machine Dom
|
||||
mean-bitch: Mean Bitch
|
||||
medical-y-sado: Medical Y Sado
|
||||
men-in-pain: Men In Pain
|
||||
pascals-sub-sluts: Pascals Sub Sluts
|
||||
pegging: Pegging
|
||||
peghim: PegHim
|
||||
plumperd: Plumperd
|
||||
pornforce: Porn Force
|
||||
pornstar-platinum: Pornstar Platinum
|
||||
pov-pickups: POV Pickups
|
||||
public-disgrace: Public Disgrace
|
||||
revenge-of-the-baroness: Revenge Of The Baroness
|
||||
royal-fetish-films: Royal Fetish Films
|
||||
savage-gangbang: Savage Gangbang
|
||||
severe-sex-films: Severe Sex Films
|
||||
sex-and-submission: Sex And Submission
|
||||
sexual-disgrace: Sexual Disgrace
|
||||
sister-wives: Sister Wives
|
||||
slutinspection: Slut Inspection
|
||||
spizoo: Spizoo
|
||||
strapon-squad: Strapon Squad
|
||||
struggling-babes: Struggling Babes
|
||||
submissive-x: Submissive X
|
||||
submissived: Submissived
|
||||
sweet-femdom: Sweet FemDom
|
||||
the-training-of-o: The Training Of O
|
||||
the-upper-floor: The Upper Floor
|
||||
the-venus-girls: The Venus Girls
|
||||
torment-time: Torment Time
|
||||
transerotica: TransErotica
|
||||
ts-pussy-hunters: TS Pussy Hunters
|
||||
ts-seduction: TS Seduction
|
||||
twisted-visual: Twisted Visual
|
||||
ultimate-surrender: Ultimate Surrender
|
||||
wasteland: Wasteland
|
||||
water-bondage: Water Bondage
|
||||
whipped-ass: Whipped Ass
|
||||
wired-pussy: Wired Pussy
|
||||
Performers:
|
||||
Name:
|
||||
selector: //div[@data-setup]/@data-setup
|
||||
postProcess:
|
||||
- replace:
|
||||
- regex: ^.*"modelNames":\[([^]]+).*$
|
||||
with: $1
|
||||
- regex: \"
|
||||
with: ""
|
||||
split: ","
|
||||
Tags:
|
||||
Name:
|
||||
selector: //h4[contains(text(), "Categories")]/following-sibling::*/a
|
||||
postProcess:
|
||||
- replace:
|
||||
- regex: \,\s*
|
||||
with: ""
|
||||
Details:
|
||||
selector: //h4[contains(text(), "Description")]/following-sibling::*[1]//text()
|
||||
concat: "\n"
|
||||
Image:
|
||||
selector: //div[@data-setup]/@data-setup
|
||||
postProcess:
|
||||
- replace:
|
||||
- regex: ^.*"posterUrl":"([^"]+).*$
|
||||
with: $1
|
||||
- regex: "?.*$"
|
||||
with: ""
|
||||
# Pages do not include canonical URL links as of 2024
|
||||
# but I'm leaving this in case they change that back
|
||||
URL: //link[@rel="canonical"]/@href
|
||||
performerSearch:
|
||||
common:
|
||||
$result: //div/a[contains(@href, "/model") and contains(concat(" ", normalize-space(@class), " "), " model-link ")]
|
||||
performer:
|
||||
Name: $result/img/@alt
|
||||
URL:
|
||||
selector: $result/@href
|
||||
postProcess:
|
||||
- replace:
|
||||
- regex: ^
|
||||
with: https://www.kink.com
|
||||
performerScraper:
|
||||
performer:
|
||||
Name:
|
||||
selector: //h1/text() # //div[@font-size][number(translate(@font-size,"px",""))>=35]/text()
|
||||
concat: " "
|
||||
postProcess:
|
||||
- replace:
|
||||
- regex: ^\s+
|
||||
with: ""
|
||||
- regex: \s+$
|
||||
with:
|
||||
Twitter:
|
||||
selector: '//div/a[contains(concat(" ", normalize-space(@class), " "), " social-link ") and contains(@href, "twitter.com")]/@href'
|
||||
Image:
|
||||
selector: //div/img[contains(@src, "imagedb")][1]/@src
|
||||
Tattoos:
|
||||
selector: '//div/span[text()=" tags: "]/following-sibling::a[contains(@href,"/tattoo")]//text()'
|
||||
postProcess:
|
||||
- map:
|
||||
Tattoo: "Yes"
|
||||
Piercings:
|
||||
selector: '//div/span[text()=" tags: "]/following-sibling::a[contains(@href,"/pierced")]/span'
|
||||
concat: "\n"
|
||||
Tags:
|
||||
Name: '//div/span[text()=" tags: "]/following-sibling::a/span/text()'
|
||||
Details:
|
||||
selector: '//div/span/p[@class="bio"]/following-sibling::p'
|
||||
concat: "\n"
|
||||
postProcess:
|
||||
- replace:
|
||||
- regex: "(?i)<a[^>]*>"
|
||||
with: ""
|
||||
URL: //link[@rel="canonical"]/@href
|
||||
driver:
|
||||
headers:
|
||||
- Key: User-Agent
|
||||
Value: stash-scraper/1.0.0
|
||||
# Last Updated June 25, 2023
|
||||
9
stash/config/scrapers/community/Kink/manifest
Executable file
9
stash/config/scrapers/community/Kink/manifest
Executable file
@@ -0,0 +1,9 @@
|
||||
id: Kink
|
||||
name: Kink
|
||||
metadata: {}
|
||||
version: 4b8c2a6
|
||||
date: "2024-01-04 21:56:38"
|
||||
requires: []
|
||||
source_repository: https://stashapp.github.io/CommunityScrapers/stable/index.yml
|
||||
files:
|
||||
- Kink.yml
|
||||
Reference in New Issue
Block a user