152 lines
4.6 KiB
YAML
152 lines
4.6 KiB
YAML
name: Hotmovies
|
|
sceneByName:
|
|
action: scrapeXPath
|
|
queryURL: https://www.hotmovies.com/adult-clips/search?sort=score&q={}
|
|
scraper: sceneSearch
|
|
sceneByQueryFragment:
|
|
action: scrapeXPath
|
|
queryURL: "{url}"
|
|
scraper: sceneScraper
|
|
sceneByURL:
|
|
- action: scrapeXPath
|
|
url:
|
|
- hotmovies.com
|
|
scraper: sceneScraper
|
|
movieByURL:
|
|
- action: scrapeXPath
|
|
url:
|
|
- hotmovies.com
|
|
scraper: movieScraper
|
|
performerByURL:
|
|
- action: scrapeXPath
|
|
url:
|
|
- hotmovies.com
|
|
scraper: performerScraper
|
|
performerByName:
|
|
action: scrapeXPath
|
|
queryURL: https://www.hotmovies.com/porn-star/search?sort=rank&q={}
|
|
scraper: performerSearch
|
|
xPathScrapers:
|
|
sceneScraper:
|
|
scene:
|
|
Title: //h1
|
|
Tags:
|
|
Name: //meta[@property="og:video:tag"]/@content
|
|
Performers:
|
|
Name: //meta[@property="og:video:actor"]/@content
|
|
URL: //meta[@name="og:url"]/@content
|
|
Movies:
|
|
Name: //a[@id="front-cover"]/img/@title
|
|
URL:
|
|
selector: //a[@id="front-cover"]/@href
|
|
postProcess: &baseUrl
|
|
- replace:
|
|
- regex: ^/
|
|
with: https://www.hotmovies.com/
|
|
FrontImage: //a[@id="front-cover"]/img/@src
|
|
Studio:
|
|
Name: //a[@data-tl="studio"]
|
|
URL:
|
|
selector: //a[@data-tl="studio"]/@href
|
|
postProcess: *baseUrl
|
|
Image: //meta[@property="og:image"]/@content
|
|
Date: //meta[@property="og:video:release_date"]/@content
|
|
movieScraper:
|
|
movie:
|
|
Name: //h1
|
|
URL: //meta[@name="og:url"]/@content
|
|
Director: //a[@label="Director"][1]
|
|
Duration:
|
|
selector: //strong[contains(text(), "Run Time")]/following-sibling::text()[1]
|
|
postProcess:
|
|
- replace:
|
|
- regex: " hrs. "
|
|
with: ":"
|
|
- regex: " mins."
|
|
with: ":00"
|
|
Studio:
|
|
Name: //a[@label="Studio"][1]
|
|
URL:
|
|
selector: //a[@label="Studio"][1]/@href
|
|
postProcess: *baseUrl
|
|
Synopsis: //article
|
|
FrontImage: //a[@id="front-cover"]/@href
|
|
BackImage: //a[@id="front-cover"]/following-sibling::a/@href
|
|
Date: //meta[@property="og:video:release_date"]/@content
|
|
performerSearch:
|
|
performer:
|
|
Name: //div[@id="performerlist"]//picture/img/@title
|
|
URL:
|
|
selector: //div[@id="performerlist"]//a[@class="performer-grid-list__performer__thumb"]/@href
|
|
postProcess: *baseUrl
|
|
Image: //div[@id="performerlist"]//picture/img/@src
|
|
performerScraper:
|
|
performer:
|
|
URL: //meta[@name="og:url"]/@content
|
|
Name: //meta[@name="og:title"]/@content
|
|
Gender: //meta[@property="og:profile:gender"]/@content
|
|
Birthdate:
|
|
selector: //title[contains(text(), 'Born:')]
|
|
postProcess:
|
|
- replace:
|
|
- regex: ^.*Born:\s([^\.]*).*$
|
|
with: $1
|
|
- parseDate: January 2 2006
|
|
Country:
|
|
selector: //small[text()="From:"]/following-sibling::text()[1]
|
|
postProcess:
|
|
- replace:
|
|
- regex: .*,\s
|
|
with: ""
|
|
EyeColor:
|
|
selector: //small[text()="Eyes:"]/following-sibling::text()[1]
|
|
postProcess:
|
|
- replace:
|
|
- regex: \sEyes
|
|
with: ""
|
|
Height:
|
|
selector: //small[text()="Height:"]/following-sibling::text()[1]
|
|
postProcess:
|
|
- feetToCm: true
|
|
Measurements:
|
|
selector: //small[text()="Stats:"]/following-sibling::text()[1]
|
|
postProcess:
|
|
- replace:
|
|
- regex: "[ \"]"
|
|
with: ""
|
|
Image: //a[@class="star__profile__headshot fancy"]/@href
|
|
HairColor:
|
|
selector: //title[contains(text(), ' hair')]
|
|
postProcess:
|
|
- replace:
|
|
- regex: ^.*?(\w*)\shair.*$
|
|
with: $1
|
|
Details: //article
|
|
Aliases:
|
|
selector: //title[contains(text(), 'AKA:')]
|
|
postProcess:
|
|
- replace:
|
|
- regex: ^.*AKA:\s([^\.]*).*$
|
|
with: $1
|
|
split: ", "
|
|
Weight:
|
|
selector: //title[contains(text(), ' pounds')]
|
|
postProcess:
|
|
- replace:
|
|
- regex: ^.*?(\w*)\spounds.*$
|
|
with: $1
|
|
- lbToKg: true
|
|
sceneSearch:
|
|
scene:
|
|
Title: //div[@class="animated-scene-title"]
|
|
URL:
|
|
selector: //a[@class="animated-screen"]/@href
|
|
postProcess: *baseUrl
|
|
Image: //img[@class="animate screenshot"]/@src
|
|
Movies:
|
|
Name: //div[@class="animated-scene-hiddentxt"]/a/i
|
|
URL:
|
|
selector: //div[@class="animated-scene-hiddentxt"]/a/@href
|
|
postProcess: *baseUrl
|
|
# Last Updated January 18, 2024
|