116 lines
3.5 KiB
YAML
116 lines
3.5 KiB
YAML
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
|