name: "Hypnotube"
sceneByURL:
  - action: scrapeXPath
    url:
      - hypnotube.com
    scraper: sceneScraper

sceneByName:
  action: scrapeXPath
  queryURL: https://hypnotube.com/search/{}/
  scraper: hypnotubeSearch

sceneByQueryFragment:
  action: scrapeXPath
  queryURL: "{url}"
  scraper: sceneScraper

xPathScrapers:
  hypnotubeSearch:
    common:
      $card: //div[@class='item-inner-col inner-col']
    scene:
      Title:
        selector: $card//a[contains(@href, '/video')]/@title
      URL:
        selector: $card//a[contains(@href, '/video')]/@href
      Image:
        selector: $card//img[contains(@data-mb, "shuffle-thumbs")]/@src

  sceneScraper:
    common:
      $studio: //a[starts-with(@href,'https://hypnotube.com/user/')]
    scene:
      Title: //div[@class='item-tr-inner-col inner-col']/h1/text()
      Details: //div[@class='main-description']/text()
      Image: //meta[@property='og:image']/@content
      Studio:
        Name: $studio/@title
        URL: $studio/@href
      Date:
        selector: //li/span[@class="icon i-calendar"]/following-sibling::span
        postProcess:
          - replace:
              - regex: \s.*$
                with: ""
      Tags:
        Name: //div[@class='tags-block']/a/text()
      URL: //link[@rel='canonical']/@href
# Last Updated April 29, 2023
