name: "SpankBang"
sceneByURL:
  - action: scrapeXPath
    url:
      - spankbang.com
    scraper: sceneScraper

sceneByFragment:
  action: scrapeXPath
  scraper: sceneScraper
  queryURL: https://spankbang.com/{filename}/video/
  queryURLReplace:
    filename: # expects an id in square brackets before extension, as saved by yt-dlp by default
      - regex: '.*\[([0-9a-z]{4,})\]\.[^\.]+$'
        with: $1
      - regex: .*\.[^\.]+$ # if no id is found in the filename
        with: # clear the filename so that it doesn't leak

xPathScrapers:
  sceneScraper:
    scene:
      Title: //div[@class='left']/h1/@title
      Details: //section[@class="details"]/div/p[2]/text()
      Image: //div[@class='play_cover']/img/@src
      Studio:
        Name: //li[@class='us']/a[@class='ul']/text()
      Tags:
        Name: //li[@class='p']/text()|//div[@class='searches']//a[not(@class='expand')]/text()
      URL: //link[rel='canonical']/@href|//meta[@property='og:url']/@content
      Date:
        selector: //script[@type='application/ld+json'][contains(text(),'uploadDate')]/text()
        postProcess:
          - replace:
              - regex: .*uploadDate":\s"(\d{4}-\d{2}-\d{2}).*
                with: $1
          - parseDate: 2006-01-02

driver:
  headers:
    - Key: User-Agent
      Value: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0)
# Last Updated March 27, 2024
