name: "Andomark" sceneByURL: - action: scrapeXPath url: - american-pornstar.com/updates/ - ariellynn.com/tour/updates/ - ashley4k.com/updates/ - behindtheporno.com/updates/ - bigboobiesclub.com/updates/ - bigbouncybabes.com/updates/ - bigtoyxxx.com/updates/ - bondagelegend.com/updates/ - bradsterling.elxcomplete.com/updates/ - britstudio.xxx/updates/ - brittanyandrewsxxx.com/updates/ - brittanysbubbles.com/updates/ - charlieforde.com/updates/ - chocolatepov.com/updates/ - collectivecorruption.com/updates/ - datingapphookup.com/updates/ - dirtroadwarriors.com/updates/ - furrychicks.elxcomplete.com/updates/ - hollyhotwife.elxcomplete.com/updates/ - houseofyre.com/updates/ - humiliation4k.com/updates/ - hungarianhoneys.com/tour/updates/ - internationalnudes.com/updates/ - johnnygoodluck.com/updates/ - justgoodsex.com/updates/ - justpov.com/tour/updates/ - lasvegasamateurs.com/tour/updates/ - mackmovies.com/updates/ - melaniehicksxxx.com/updates/ - nylons4k.com/updates/ - oldsexygrannies.com/updates/ - pawged.com/tour/updates/ - pawgnextdoor.com/tour/updates/ - playpetvictoria.com/updates/ - queercrush.com/updates/ - ravenswallowzxxx.com/updates/ - reidmylips.com/updates/ - reidmylips.elxcomplete.com/updates/ - rionkingxxx.com/updates/ - seanmichaelsxxx.com/updates/ - secretsusan.com/updates/ - sheseducedme.com/updates/ - sofiemariexxx.com/updates/ - tabooadventures.elxcomplete.com/updates/ - texaspattiusa.com/updates/ - thatfetishgirl.com/updates/ - tmfetish.com/updates/ - vanillapov.com/updates/ - willtilexxx.com/updates/ - xevunleashed.com/updates/ - xxxcellentadventures.com/updates/ - younggunsxxx.com/updates/ - yummybikinimodel.com/updates/ - yummygirl.com/updates/ - yummygirlz.com/updates/ - yummypornclub.com/updates/ - yummysexclub.com/updates/ - yummysofie.com/updates/ - yummywomen.com/updates/ scraper: sceneScraper - action: scrapeXPath url: # Many sites have better metadata in the members access section, but these # are the ones that ONLY provide the members access version of scene pages - beatmeup.com/access/scenes/ - goonmuse.com/access/scenes/ - xevunleashed.com/access/scenes/ scraper: proSceneScraper - action: scrapeXPath url: # These sites have a members access section that is not linked from their main page # note that these pages often have more tags and a full description but no cover image - ariellynn.com/access/scenes/ - ashley4k.com/access/scenes/ - behindtheporno.com/access/scenes/ - bigboobiesclub.com/access/scenes/ - bigbouncybabes.com/access/scenes/ - bigtoyxxx.com/access/scenes/ - bradsterling.elxcomplete.com/access/scenes/ - brittanyandrewsxxx.com/access/scenes/ - brittanysbubbles.com/access/scenes/ - chocolatepov.com/access/scenes/ - datingapphookup.com/access/scenes/ - dirtroadwarriors.com/access/scenes/ - furrychicks.elxcomplete.com/access/scenes/ - hollyhotwife.elxcomplete.com/access/scenes/ - houseofyre.com/access/scenes/ - humiliation4k.com/access/scenes/ # Hungarian Honeys has a members access section but it's not linked from the main page # it also serves pages with status 500 so they're unscrapable right now, making a note # here in case we ever rewrite to a script scraper - hungarianhoneys.com/trailers/ - internationalnudes.com/access/scenes/ - johnnygoodluck.com/access/scenes/ - laurenphillips.com/access/scenes/ - mackmovies.com/access/scenes/ - melaniehicksxxx.com/access/scenes/ - nylons4k.com/access/scenes/ - oldsexygrannies.com/access/scenes/ - playpetvictoria.com/access/scenes/ - queercrush.com/access/scenes/ - ravenswallowzxxx.com/access/scenes/ - reidmylips.com/access/scenes/ - reidmylips.elxcomplete.com/access/scenes/ - rionkingxxx.com/access/scenes/ - seanmichaelsxxx.com/access/scenes/ - secretsusan.com/access/scenes/ - sheseducedme.com/access/scenes/ - sheseducedme.com/vod/scenes/ - sofiemariexxx.com/access/scenes/ - tabooadventures.elxcomplete.com/access/scenes/ - terapatrick.com/access/scenes/ - texaspattiusa.com/access/scenes/ - thatfetishgirl.com/access/scenes/ - tmfetish.com/access/scenes/ - vanillapov.com/access/scenes/ - willtilexxx.com/access/scenes/ - xxxcellentadventures.com/access/scenes/ - younggunsxxx.com/access/scenes/ - yummybikinimodel.com/access/scenes/ - yummygirl.com/access/scenes/ - yummygirlz.com/access/scenes/ - yummypornclub.com/access/scenes/ - yummysexclub.com/access/scenes/ - yummysofie.com/access/scenes/ - yummywomen.com/access/scenes/ scraper: proSceneWithImgFallbackScraper xPathScrapers: sceneScraper: common: $scene: //div[contains(@class, "update_block")] $excludeUpdates: not(ancestor::*[contains(@class, "mpuSection")]) scene: Title: $scene//span[@class="update_title"]/text()|//title/text() Date: # Some sites hide their release date in a comment selector: >- //*[(contains(@class, "availdate") or contains(@class, "update_date")) and contains(., "/")] | //*[(contains(@class, "availdate") or contains(@class, "update_date"))]/comment() | (//*[contains(@class,'fa-calendar')]/following-sibling::text())[1] postProcess: &datePostProcess - replace: - regex: ".*?([0-9]{2}/[0-9]{2}/[0-9]{4}).*" with: $1 - parseDate: 01/02/2006 Details: $scene//span[@class="latest_update_description"] Performers: Name: $scene//span[@class="tour_update_models" and $excludeUpdates]/a Tags: Name: $scene//span[contains(@class, "update_tags")]/a Studio: Name: selector: //link[@rel="canonical"]/@href postProcess: &studioPostProcess - replace: - regex: https://(w{3}?\.?)?(.+?)(\..+) with: $2 - map: ariellynn: Ariel Lynn ashley4k: Ashley 4K beatmeup: BeatMeUp behindtheporno: Behind The Porno bigboobiesclub: Big Boobies Club bigbouncybabes: Big Bouncy Babes bigtoyxxx: Big Toy XXX bondagelegend: Bondage Legend bradsterling: Brad Sterling britstudio: Brit Studio brittanyandrewsxxx: Britttany Andrews brittanysbubbles: Brittany Andrews charlieforde: Charlie Forde chocolatepov: ChocolatePOV collectivecorruption: Collective Corruption datingapphookup: Dating App Hook Ups dirtroadwarriors: Dirt Road Warriors furrychicks: Furry Chicks goonmuse: GoonMuse hollyhotwife: HollyHotWife houseofyre: House of Fyre humiliation4k: Humiliation 4K hungarianhoneys: Hungarian Honeys internationalnudes: International Nudes johnnygoodluck: Johnny Goodluck justgoodsex: JustGoodSex justpov: Just POV lasvegasamateurs: Las Vegas Amateurs laurenphillips: Lauren Phillips mackmovies: Mack Movies melaniehicksxxx: Melanie Hicks XXX nylons4k: Nylons 4K oldsexygrannies: OldSexyGrannies pawged: PAWGED pawgnextdoor: PAWG Next Door playpetvictoria: PlaypetVictoria queercrush: QueerCrush ravenswallowzxxx: Raven Swallows reidmylips: Reid My Lips rionkingxxx: Rion King seanmichaelsxxx: Sean Michaels secretsusan: Secret Susan sheseducedme: She Seduced Me sofiemariexxx: Sofie Marie XXX tabooadventures: Taboo Adventures terapatrick: Terra Patrick texaspattiusa: TexasPattiUSA thatfetishgirl: ThatFetishGirl tmfetish: TMFetish vanillapov: VanillaPOV willtilexxx: Will Tile XXX xevunleashed: Xev Unleashed xxxcellentadventures: XXXcellentAdventures younggunsxxx: YoungGunsXXX yummybikinimodel: YummyBikini yummygirl: Yummygirl yummygirlz: Yummygirlz yummypornclub: YummyPornClub yummysexclub: Spik Irons' YummySexClub yummysofie: Yum Sofie yummywomen: Yummywomen Image: &image selector: //base/@href | //div[@class="update_image"]/a/img[@src0_1x]/@src0_1x | //span[@class="model_update_thumb"]/img/@src concat: / postProcess: - replace: - regex: ^(https://.+)?https:// with: https:// - regex: tour/// with: "" URL: //link[@rel='canonical']/@href proSceneScraper: common: # We need to exclude anything inside a "category_listing_block" because those are suggested content and would give us false positives $excludeUpdates: not(ancestor::*[contains(@class, "category_listing_block")]) scene: Title: //div[@class="title_bar"]/span Date: selector: //div[contains(@class, "update_date") and $excludeUpdates and contains(., "/")] postProcess: *datePostProcess Details: //span[@class="update_description"] Performers: Name: //span[@class="update_models" and $excludeUpdates]/a Tags: Name: //span[@class="update_tags" and $excludeUpdates]/a Studio: Name: selector: //base/@href postProcess: *studioPostProcess Image: selector: //base/@href | //script[contains(text(), 'useimage = "/')]/text() concat: __SEPARATOR__ postProcess: - replace: # If the image was empty we clear the URL - regex: .*/$ with: "" - regex: (https://[^/]+).*useimage = "([^"]*).* with: $1$2 proSceneWithImgFallbackScraper: common: # We need to exclude anything inside a "category_listing_block" because those are suggested content and would give us false positives $excludeUpdates: not(ancestor::*[contains(@class, "category_listing_block")]) scene: Title: //div[@class="title_bar"]/span Date: selector: //div[contains(@class, "update_date") and $excludeUpdates and contains(., "/")] postProcess: *datePostProcess Details: //span[@class="update_description"] Performers: Name: //span[@class="update_models" and $excludeUpdates]/a Tags: Name: //span[@class="update_tags" and $excludeUpdates]/a Studio: Name: selector: //base/@href postProcess: *studioPostProcess Image: selector: //a[@class="option_button"]/@href postProcess: - replace: - regex: _(vids|caps|highres).html$ with: .html - regex: /access/scenes/ with: /updates/ - subScraper: *image driver: cookies: - CookieURL: https://sheseducedme.com Cookies: - Name: nats Domain: sheseducedme.com ValueRandom: 36 Path: / # Last Updated April 1, 2024