name: LoveHerFilms sceneByURL: - action: scrapeXPath url: - loveherboobs.com/tour/trailers/ - loveherfeet.com/tour/trailers/ - loveherfilms.com/tour/trailers/ - shelovesblack.com/tour/trailers/ scraper: sceneScraper sceneByFragment: action: scrapeXPath queryURL: "{url}" scraper: sceneScraper performerByName: action: scrapeXPath queryURL: "https://www.loveherfilms.com/tour/search.php?model_name={}" scraper: performerSearch performerByURL: - action: scrapeXPath url: - loveherboobs.com/tour/models/ - loveherfeet.com/tour/models/ - loveherfilms.com/tour/models/ - shelovesblack.com/tour/models/ scraper: performerScraper xPathScrapers: sceneScraper: scene: Title: //h1[@class='title']/text() Details: //p[@class='description']/text() Date: selector: //div[@class='date']/text() postProcess: - parseDate: January 2, 2006 Code: selector: //*/div[@class='photos vide-section']/a[1]/img/@data-src postProcess: - replace: - regex: ^https?.+/(?:[a-zA-Z]+_(\d+)_.+|(\d+)_[a-zA-Z0-9]+(?:\.jpg)?.*) with: $1$2 - replace: - regex: ^\D.* with: Image: selector: //div[@class='video']//img[contains(@class,'mainThumb') or contains(@class,'update_thumb')]/@src0_3x|//video/@poster|//base/@href concat: "|" postProcess: - replace: - regex: ^(https[^|]+)\|.+ # mainThumb urls do not need anything with: $1 - regex: ^/tour([^|]+)\|(.+) # video/@poster urls need a domain with: $2$1 Studio: Name: selector: //meta[@name='author']/@content postProcess: - map: LoveHerFeet.com: "Love Her Feet" Tags: Name: //div[@class='video-tags']/a/text() Performers: Name: //div[@class='featured']/a/text() URL: //div[@class='featured']/a/@href performerSearch: performer: Name: //h3/../a/@title URL: //h3/../a/@href performerScraper: performer: Name: //div[@class="bio"]//h2/text() Details: selector: //div[@class="description"]/div[@class="about"]/p/text() postProcess: - replace: - regex: (?i)^This\smodel\shas\sno\sbio.* with: Image: selector: //div[@class="bio"]//img/@src0_3x Ethnicity: selector: &bio //script[contains(text(),'totalStats')]/text() postProcess: - replace: - regex: .*totalStats\.push\(.

Ethnicity:\s\s([^)]+)

.+ with: $1 - regex: (^..document..ready.*) # if above is not matched clear everything with: "" EyeColor: selector: *bio postProcess: - replace: - regex: .*totalStats\.push\(.

Eye\sColor:\s\s([^)]+)

.+ with: $1 - regex: (^..document..ready.*) with: "" Birthdate: selector: *bio postProcess: - replace: - regex: .*totalStats\.push\(.

Date\sof\sBirth:\s\s([^)]+)

.+ with: $1 - regex: (^..document..ready.*) with: "" - parseDate: January 2, 2006 Measurements: selector: *bio postProcess: - replace: - regex: .*totalStats\.push\(.

Measurements:\s\s([^)]+)

.+ with: $1 - regex: (^..document..ready.*) with: "" HairColor: selector: *bio postProcess: - replace: - regex: .*totalStats\.push\(.

Hair\sColor:\s\s([^)]+)

.+ with: $1 - regex: (^..document..ready.*) with: "" Height: selector: *bio postProcess: - replace: - regex: .*totalStats\.push\(.+

Height:\s\s(\d+[^(<]+).* with: $1 - regex: (^..document..ready.*) with: "" - feetToCm: true Weight: selector: *bio postProcess: - replace: - regex: .*totalStats\.push.+

Weight:\s\s(\d+)\D[^<]+

.+ with: $1 - regex: (^..document..ready.*) with: "" - lbToKg: true FakeTits: selector: *bio postProcess: - replace: - regex: .*totalStats\.push\(.

(?:Tits|Boob)\sType:\s\s([^)]+)

.+ with: $1 - regex: (^..document..ready.*) with: "" - regex: (?i).*(enhanced|fake).* # comment out the below regexes if you want to keep more info with: "Yes" - regex: (?i).*natural.* with: "No" - regex: (?i)unknown with: "" Tattoos: selector: *bio postProcess: - replace: - regex: .*totalStats\.push\(.

Tattoos:\s([^)]+)

.+ with: $1 - regex: (^..document..ready.*) with: "" Piercings: selector: *bio postProcess: - replace: - regex: .*totalStats\.push\(.

Piercings:\s\s([^)]+)

.+ with: $1 - regex: (^..document..ready.*) with: "" Gender: fixed: "Female" # Last Updated April 13, 2023