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

62 lines
2.0 KiB
YAML

name: "21Roles"
sceneByURL:
- action: scrapeXPath
url:
- 21roles.com/game/DisplayPlayer/gameId/
- lifeselector.com/game/DisplayPlayer/gameId/
scraper: sceneScraper
xPathScrapers:
sceneScraper:
scene:
Title:
selector: //title/text()
postProcess:
- replace:
- regex: .+(?:DisplayPlayer\s-\s)(.+)(?:\s-\sDisplayPlayer)+
with: $1
Details: //div[@class="info"]/p/text()
Tags:
Name:
selector: //title/text()
postProcess:
- replace:
- regex: .+(?:DisplayPlayer\s-\s)(.+)(?:\s-\sDisplayPlayer)+
with: https://21roles.com/site/search/keyword/$1
- regex: (.+)(?:\s-\sInteractive).+
with: https://lifeselector.com/site/search/keyword/$1
- subScraper:
selector: //div[@class="details"]/div[contains(.,'Labels')]//a/text()
concat: ","
split: ","
Performers:
Name:
selector: //div[@class="modelBlock"]/div[@class="description"]/h1/a/text()
postProcess:
- replace:
- regex: .+(?:\/)(\d+)+
with: https://21roles.com/game/DisplayPlayer/gameId/$1/view/cast
- subScraper:
selector: //div[@class="content"]//h1/a/text()
concat: ","
split: ","
Image:
selector: //div[@class="signup-right-col"]//input[@id="requestUri"]/@value
postProcess:
- replace:
- regex: .+(?:\/)(\d+)+
with: https://i.c7cdn.com/generator/games/$1/images/poster/1_size1600.jpg
Studio:
Name:
selector: //meta[@property='og:site_name']/@content
postProcess:
- map:
21roles.com: '21Roles'
LifeSelector: 'LifeSelector'
# Driver is used only to grab tags, if you are unable to use CDP and don't mind
# losing the tags, comment out or remove the driver lines
driver:
useCDP: true
# Last Updated November 08, 2020