60 lines
1.5 KiB
YAML
60 lines
1.5 KiB
YAML
# yaml-language-server: $schema=../validator/scraper.schema.json
|
|
|
|
name: "xVirtual"
|
|
sceneByURL:
|
|
- action: scrapeXPath
|
|
url:
|
|
- xvirtual.com
|
|
scraper: sceneScraper
|
|
|
|
sceneByName:
|
|
action: scrapeXPath
|
|
queryURL: https://xvirtual.com/tour/search/?q={}
|
|
scraper: sceneSearch
|
|
|
|
sceneByQueryFragment:
|
|
action: scrapeXPath
|
|
queryURL: "{url}"
|
|
scraper: sceneScraper
|
|
|
|
xPathScrapers:
|
|
sceneSearch:
|
|
common:
|
|
$ep: //div[contains(concat(' ', normalize-space(@class), ' '), ' episode ')]
|
|
scene:
|
|
Title:
|
|
selector: $ep//a[@class="title"]/h2[@class="nice-title"]/text()
|
|
postProcess:
|
|
- replace:
|
|
- regex: \s*in\s+180°$
|
|
with:
|
|
Image:
|
|
selector: $ep//img[contains(concat(' ', normalize-space(@class), ' '), ' poster ')]/@src
|
|
URL:
|
|
selector: $ep//a[@class="title"]/@href
|
|
postProcess:
|
|
- replace:
|
|
- regex: ^
|
|
with: https://xvirtual.com
|
|
|
|
sceneScraper:
|
|
common:
|
|
$info: //div[@class="episode preview"]
|
|
scene:
|
|
Title:
|
|
selector: $info//h2[@class="nice-title"]/text()
|
|
postProcess:
|
|
- replace:
|
|
- regex: \s*in\s+180°$
|
|
with:
|
|
Details: $info//div[@class="desc-text"]/p
|
|
Studio:
|
|
Name:
|
|
fixed: xVirtual
|
|
Tags:
|
|
Name: $info//ul[@class="tags"]/li/a[@class="tag"]/text()
|
|
Image:
|
|
selector: //div[@id="video-container"]//dl8-video/@poster
|
|
URL: //meta[@property="og:url"]/@content
|
|
# Last Updated November 07, 2022
|