name: Modelhub performerByName: action: scrapeXPath queryURL: https://modelhub.com/model/search?q={} scraper: performerSearch performerByURL: - action: scrapeXPath url: - modelhub.com scraper: performerScraper sceneByURL: - action: scrapeXPath url: - modelhub.com/video/ scraper: sceneScraper xPathScrapers: performerSearch: performer: Name: //div[@class="modelInfo"]/a/h3/text() URL: selector: //li[@class="modelBox"]/a/@href postProcess: - replace: - regex: ^(.*)$ with: "https://www.modelhub.com$1/bio" performerScraper: common: $infoPiece: //div[@class="modelContent"] $modelAttributes: //ul[@class="modelAttributes"]/li performer: Name: //div[@class="infoSection"]/h1/text() Birthdate: selector: //span[@class='bday js_lazy_bkg']/text() postProcess: - parseDate: January 2, 2006 Gender: selector: //ul[@class="allStats"]/li[contains(.,"Gender")]/span postProcess: - replace: - regex: "Couple" with: Ethnicity: selector: $modelAttributes/div[contains(.,"Ethnicity")]/span postProcess: - map: Latin: "hispanic" Other: "" Twitter: selector: //a[@class='twitter js_lazy_bkg']/@href postProcess: - replace: - regex: .+(twitter.com)/(.+) with: $2 - regex: (.+)\?(.*) with: $1 Instagram: selector: //a[@class="insta js_lazy_bkg"]/@href postProcess: - replace: - regex: .+(instagram.com/)(.+) with: $2 Height: selector: $modelAttributes/div[contains(.,"Height")]/span postProcess: - replace: - regex: .*\((\d+)cm\) with: $1 FakeTits: selector: $modelAttributes/div[contains(.,"Breast Type")]/span postProcess: - map: Natural: "No" Fake: "Yes" Piercings: $modelAttributes/div[contains(.,"Piercing")]/span EyeColor: $modelAttributes/div[contains(.,"Eye Color")]/span Tattoos: $modelAttributes/div[contains(.,"Tattoo")]/span URL: //meta[@name="twitter:url"]/@content Image: //img[@class='profileImg lazy']/@data-src Country: selector: //ul[@class="info"]/li/span[@class="location js_lazy_bkg"]/text() postProcess: - map: "AR": "Argentina" "AT": "Austria" "AU": "Australia" "BR": "Brazil" "CA": "Canada" "colombia, CO": "Colombia" "CO": "Colombia" "CZ": "Czech Republic" "DE": "Germany" "ES": "Spain" "FR": "France" "GB": "United Kingdom" "HU": "Hungary" "IT": "Italy" "Peru, PE": "Peru" "PE": "Peru" "PH": "Philippines" "RO": "Romania" "RU": "Russia" "US": "United States" sceneScraper: scene: Title: //div[@class='videoShortInfo']/div[1]/h1/text() Tags: Name: //div[@class='videoCategories']/div/a/text() Image: //meta[@property="og:image"]/@content Details: //p[@ class="videoDescription"] Performers: Name: //div[@class='videoAvatar']/div[1]/a[2] # Last Updated November 08, 2020