name: "ZexyVR" performerByURL: - action: scrapeXPath url: - zexyvr.com/models scraper: performerScraper sceneByURL: - action: scrapeXPath url: - zexyvr.com/videos scraper: sceneScraper xPathScrapers: performerScraper: common: $data: //div[@class="col-12 col-lg-7"] performer: Name: $data/h1/text() Gender: fixed: female Birthdate: selector: $data//li[normalize-space(text())="Birth date:"]/b[1]/text() postProcess: - parseDate: Jan 2, 2006 HairColor: $data//li[normalize-space(text())="Hair color:"]/b[1]/text() EyeColor: $data//li[normalize-space(text())="Eye color:"]/b[1]/text() Height: selector: $data//li[normalize-space(text())="Height:"]/b[1]/text() postProcess: - replace: - regex: " cm$" with: "" Weight: selector: $data//li[normalize-space(text())="Weight:"]/b[1]/text() postProcess: - replace: - regex: " kg$" with: "" Measurements: $data//li[normalize-space(text())="Bra size:"]/b[2]/text() Image: selector: //img[@class="m-auto img-fluid"]/@src postProcess: - replace: - regex: \?.*$ with: "" sceneScraper: common: $info: //div[@class="row pt-3"] $textBlob: //div[@class="row pt-3"]//p[@class="text-muted"] scene: Title: $info//h2/text() Details: $info//h2/following-sibling::p Date: selector: $textBlob/text()[contains(.,"Released on")] postProcess: - replace: - regex: ^.*Released on with: "" - parseDate: Jan 2, 2006 Studio: Name: fixed: ZexyVR Tags: Name: $textBlob/a[@class="btn-link font-weight-light"]/text() Performers: Name: $textBlob/a[contains(@href,"/models/")]/text() Image: selector: //div[@class="videoPlayerContainer"]/deo-video/@cover-image|//div[@class="col-12 col-lg-8"]/img/@src postProcess: - replace: - regex: \?.*$ with: "" # Last Updated December 29, 2021