Files
compose-projects-arr/stash/config/scrapers/community/KinkMen/KinkMen.yml
Christoph Califice 0a5f88d75a stash
2025-10-10 09:50:30 -03:00

96 lines
2.8 KiB
YAML

name: Kink Men
sceneByURL:
- action: scrapeXPath
url:
- kinkmen.com
scraper: sceneScraper
sceneByFragment:
action: scrapeXPath
queryURL: https://www.kinkmen.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.kinkmen.com/models?q={}
scraper: performerSearch
performerByURL:
- action: scrapeXPath
url:
- kinkmen.com/model
- kink.com/model
scraper: performerScraper
xPathScrapers:
sceneScraper:
common:
$shoot: //div[contains(@class, "shoot-detail-legend")]
scene:
Title: //h1
Date:
selector: ($shoot/span)[2]
postProcess:
- parseDate: 01/02/06
Details:
selector: //div[contains(@class, "shoot-detail-description")]/span/p/text()
concat: "\n"
Code: //div[contains(@class, "shootPage")]/@data-shootid
Director: //span[contains(@class, "director-name")]
Performers:
Name:
selector: //h1/following-sibling::*/a[contains(@href, "/model/")]
postProcess:
- replace:
- regex: \,
with: ""
Tags:
Name:
selector: //div[contains(@class, "shoot-detail-description")]//a[contains(@href, "/tag/")]
postProcess:
- replace:
- regex: \,
with: ""
Image: //video/@poster
Studio:
Name:
selector: ($shoot/span)[1]
performerSearch:
common:
$result: //a[contains(@class, "ratio-model")]
performer:
Name: $result/following-sibling::span
Image: $result/img/@src
URL:
selector: $result/@href
postProcess:
- replace:
- regex: ^
with: https://www.kinkmen.com
performerScraper:
performer:
Name: //h1
Twitter: //div/a[contains(@href, "twitter.com")]/@href
Image: //div[contains(@class, "kink-slider-images")]/img/@data-src
Tags:
Name: //a[contains(@href, "/tag/")]
Details:
selector: //p[@class="bio"]/following-sibling::p
concat: "\n\n"
postProcess:
- replace:
- regex: "<a[^>]*>"
with: ""
URL: //link[@rel="canonical"]/@href
driver:
headers:
- Key: User-Agent
Value: stash-scraper/1.0.0
# Last Updated November 06, 2023