# 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
