name: JavLibrary
sceneByFragment:
  action: scrapeXPath
  queryURL: https://www.javlibrary.com/en/vl_searchbyid.php?keyword={filename}
  queryURLReplace:
    filename:
      - regex: -JG\d
        with: ""
      - regex: (.*[^a-zA-Z0-9])*([a-zA-Z-]+\d+)(.+)
        with: $2
  # Note: If javlibrary doesn't work, you can replace javlibrary with any mirrors in the queryURL.
  # The scraper matches the DVD version of a title. If you want the Blu-Ray version you'll need to add the correct URL manually and scrape using that afterwards.
  scraper: sceneScraper
sceneByURL:
  - action: scrapeXPath
    url:
      - javlibrary.com/
      - p54u.com/
      - d52q.com/
      - n53i.com/
    scraper: sceneScraper
sceneByName:
  action: scrapeXPath
  queryURL: https://www.javlibrary.com/en/vl_searchbyid.php?keyword={}
  scraper: sceneScraper
sceneByQueryFragment:
  action: scrapeXPath
  queryURL: "{url}"
  scraper: sceneScraper
movieByURL:
  - action: scrapeXPath
    url:
      - javlibrary.com/
      - p54u.com/
      - d52q.com/
      - n53i.com/
    scraper: movieScraper
xPathScrapers:
  sceneScraper:
    scene:
      Title:
        selector: //div[@class="videos"]/div/a/@title[not(contains(.,"(Blu-ray"))]|//div[@id="video_id"]/table/tbody/tr/td[@class="text"]/text()
      # Using URL to still get a URL with sceneByFragment if a duplicate exist.
      URL:
        selector: //div[@class="videos"]/div/a/@title[not(contains(.,"(Blu-ray"))]/../@href|//meta[@property="og:url"]/@content
        postProcess:
          - replace:
            - regex: (.*\?)(.*)
              with: $2
            - regex: ^
              with: https://www.javlibrary.com/en/?
      Date:
        selector: //div[@id="video_date"]/table/tbody/tr/td[@class="text"]/text()
      Details:
        selector: //div[@id="video_title"]/h3/a/text()
        postProcess:
          - replace:
            - regex: ^(.*? ){1}
              with:
      Tags:
        Name: //div[@id="video_genres"]/table/tbody/tr/td[@class="text"]/span/a
      Performers:
        Name: //div[@id="video_cast"]/table/tbody/tr/td[@class="text"]/span/span/a
      Image:
        selector: //div[@class="videos"]/div/a[not(contains(@title,"(Blu-ray"))]//img/@src|//div[@id="video_jacket"]/img/@src
        postProcess:
          - replace:
            - regex: (http:|https:)
              with:
            - regex: ^
              with: "https:"
      Studio:
        Name: //div[@id="video_maker"]/table/tbody/tr/td[@class="text"]/span/a/text()
  movieScraper:
    movie:
      Name: //div[@id="video_id"]/table/tbody/tr/td[@class="text"]/text()
      Director: //div[@id='video_director']/table/tbody/tr/td[@class="text"]/span/a/text()
      Duration: 
        selector: //div[@id="video_length"]/table/tbody/tr/td/span[@class="text"]/text()
        postProcess:
          - replace:
            - regex: $
              with: ":00"
      Date: //div[@id="video_date"]/table/tbody/tr/td[@class="text"]/text()
      Synopsis:
        selector: //div[@id="video_title"]/h3/a/text()
        postProcess:
          - replace:
            - regex: ^(.*? ){1}
              with:
      Studio:
        Name: //div[@id="video_maker"]/table/tbody/tr/td[@class="text"]/span/a/text()
      FrontImage:
        selector: //div[@id="video_jacket"]/img/@src
        postProcess:
          - replace:
            - regex: (http:|https:)
              with:
            - regex: ^
              with: "https:"

# Last Updated September 14, 2021
