name: AShemaleTube performerByName: action: scrapeXPath queryURL: "https://www.ashemaletube.com/models/?modelsearchSubmitCheck=FORM_SENDED&key=models&mode=model-search&searchName={}&submitModelSearch=Search&filterCountry=&filterHair=&filterEthnicity=&filterEyes=&filterPenis=&filterBreast=&mode=model-search" scraper: performerSearch performerByURL: - action: scrapeXPath url: - ashemaletube.com/model/ scraper: performerScraper sceneByName: action: scrapeXPath queryURL: "https://www.ashemaletube.com/search/{}/?sort=re" scraper: sceneSearch sceneByQueryFragment: action: scrapeXPath queryURL: "{url}" scraper: sceneScraper sceneByURL: - action: scrapeXPath url: - ashemaletube.com/videos scraper: sceneScraper xPathScrapers: performerSearch: common: $listAnchor: //div[@class="models-list"]//div[@class="modelspot modelItem"]/a performer: Name: selector: $listAnchor/@title URL: selector: $listAnchor/@href postProcess: - replace: - regex: ^ with: https://www.ashemaletube.com performerScraper: common: $infoPiece: //div[@class="info-box info"] performer: Name: //h1[@class="username "] Aliases: $infoPiece/ul/li/span[text()="AKA:"]/../text()[2] Birthdate: selector: $infoPiece/ul/li/span[text()="Date of Birth:"]/../text()[2] postProcess: - parseDate: "2 January 2006" DeathDate: selector: $infoPiece/ul/li/span[text()="Status:"]/../text()[2] postProcess: - replace: - regex: '^.*\son\s' with: "" - regex: (\d)(?:st|nd|rd|th) with: $1 - parseDate: 2 January 2006 Country: $infoPiece/ul/li/span[text()="Country:"]/../text()[2] EyeColor: $infoPiece/ul/li/span[text()="Eye Color:"]/../text()[2] HairColor: $infoPiece/ul/li/span[text()="Hair Color:"]/../text()[2] Ethnicity: $infoPiece/ul/li/span[text()="Ethnicity:"]/../text()[2] Height: selector: $infoPiece/ul/li/span[text()="Height:"]/../text()[2] postProcess: - replace: - regex: (\d+) cm.* with: $1 Tags: Name: //a[@class="tag-item"]/text() Image: //div[@class="user-photo"]/img/@src Twitter: selector: //a[@class=" social-twitter"]/@href postProcess: - replace: - regex: ^/ with: https://www.ashemaletube.com/ - subScraper: //link[@rel="alternate"][1]/@href URL: //link[@rel="canonical"]/@href sceneSearch: common: $scenerow: //div[@id="maincolumn"]/ul/li scene: Title: $scenerow//p/a/@title URL: selector: $scenerow//p/a/@href postProcess: - replace: - regex: ^ with: https://www.ashemaletube.com Image: $scenerow/div/span/a/img/@src sceneScraper: common: $infoPiece: //div[@id="item-info"] scene: Title: $infoPiece//h1/text() Date: selector: $infoPiece//div[contains(@class, "views-count-add")]/text() postProcess: - replace: - regex: Added\s(.*) with: $1 - parseDate: 2006-01-02 Tags: Name: //a[@class="tag-item"]/@title Performers: Name: selector: //a[@class="model-card"]/text()[2] postProcess: - replace: - regex: \n\t(.*)\n with: $1 URL: selector: //a[@class="model-card"]/@href postProcess: - replace: - regex: ^/ with: https://www.ashemaletube.com/ Image: //meta[@property="og:image"]/@content URL: //meta[@property="og:url"]/@content # Last Updated September 29, 2022