name: "DreamTranny"
sceneByURL:
  - action: scrapeXPath
    url:
      - dreamtranny.com
    scraper: sceneScraper
galleryByURL:
  - action: scrapeXPath
    url:
      - dreamtranny.com
    scraper: galleryScraper
performerByURL:
  - action: scrapeXPath
    url:
      - dreamtranny.com/models/
    scraper: performerScraper
xPathScrapers:
  sceneScraper:
    scene:
      Title: &titleSel //div[@class="section-title"]/h4/text()
      Details: &detailsSel //p[@class="read-more"]/text()
      Date: &dateAttr
        selector: //small[@class="updated-at"]/text()
        postProcess:
          - parseDate: Jan 2, 2006
      Performers: &performersAttr
        Name: //a[@class="model-name no-text-decoration"]
      Image:
        selector: //video[contains(@class,"video-js")]/@poster|//div[contains(@class,"model-player")]//img/@src
        postProcess:
          - replace:
              - regex: ^
                with: "https://dreamtranny.com"
      Studio: &studioAttr
        Name:
          fixed: "Dream Tranny"
      Tags: &tagsAttr
        Name: //div[@class="model-categories"]/a/text()
      URL: &urlAttr
        selector: &urlSel //script[contains(.,"API_VIEW_URLS")]/text()
        postProcess:
          - replace:
              - regex: .*/api(/update/\d+)/view_count.*
                with: "https://dreamtranny.com$1/"
      Code:
        selector: *urlSel
        postProcess:
          - replace:
              - regex: .*/api/update/(\d+)/view_count.*
                with: "$1"
  galleryScraper:
    gallery:
      Title: *titleSel
      Details: *detailsSel
      Date: *dateAttr
      Tags: *tagsAttr
      Performers: *performersAttr
      Studio: *studioAttr
      URL: *urlAttr
  performerScraper:
    performer:
      Name: //h1[@class="model-title"]/text()
      Gender:
        fixed: transgender_female
      Image:
        selector: //div[@class="model-img"]/a/img[@class="img"]/@src
        postProcess:
          - replace:
              - regex: ^
                with: https://dreamtranny.com/
      Country: //div[@class="model-content"]/p/span[text()="NATIONALITY"]/following-sibling::span[1]
      Birthdate:
        selector: //div[@class="model-content"]/p/span[text()="DATE OF BIRTH"]/following-sibling::span[1]
        postProcess:
          - replace:
              - regex: (\d)(st|[nr]d|th)
                with: "$1"
          - parseDate: January 2, 2006
# Last Updated April 20, 2023
