Skip to content

Commit 322282c

Browse files
authored
Merge pull request #2398 from nrg101/improve-ladyboygold
add birthdate for ladyboygold performerByURL
2 parents 9b02690 + 7ba2004 commit 322282c

File tree

1 file changed

+38
-20
lines changed

1 file changed

+38
-20
lines changed

scrapers/LadyboyGold/LadyboyGold.yml

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ sceneByQueryFragment:
3939
xPathScrapers:
4040
performerScraperLadyboyGold:
4141
common:
42+
$modelStatsListItem: //div[@class="modelStats"]/ul/li
4243
$infoPiece: //div[@class="info-box info"]
4344
performer:
4445
Name:
@@ -50,19 +51,19 @@ xPathScrapers:
5051
Gender:
5152
fixed: transgender_female
5253
Weight:
53-
selector: //div[@class="modelStats"]/ul/li[contains(text(), "Weight:")]/text()
54+
selector: $modelStatsListItem[contains(text(), "Weight:")]/text()
5455
postProcess: &weightPostProcess
5556
- replace:
56-
- regex: .* \(([0-9]*)kg\)
57+
- regex: .* \(([0-9\.]*)kg\)
5758
with: $1
5859
Height:
59-
selector: //div[@class="modelStats"]/ul/li[contains(text(), "Height:")]/text()
60+
selector: $modelStatsListItem[contains(text(), "Height:")]/text()
6061
postProcess: &heightPostProcess
6162
- replace:
6263
- regex: .* \(([0-9]*)cm\)
6364
with: $1
6465
Measurements:
65-
selector: //div[@class="modelStats"]/ul/li[contains(text(), "Measurements:")]/text()
66+
selector: $modelStatsListItem[contains(text(), "Measurements:")]/text()
6667
postProcess:
6768
- replace:
6869
- regex: Measurements. (.*)
@@ -74,23 +75,26 @@ xPathScrapers:
7475
- regex: ^
7576
with: https://www.ladyboygold.com
7677
Details: //div[@class="profileBio"]/text()
77-
performerScraperTSRaw:
78-
common:
79-
$infoList: //dl[contains(@class, "model")]
80-
$description: //div[contains(@class, "details")]//div[contains(@class, "description")]
81-
performer:
82-
Name: //div[contains(@class, "model-view")]//h3[contains(@class, "title")]
8378
Birthdate:
84-
selector: //dt[text()="Born"]/following-sibling::dd[1]//text()|//dt[text()="Age"]/following-sibling::dd[1]//text()
85-
concat: ", "
86-
postProcess:
79+
# use Age and Birthday
80+
selector: >-
81+
$modelStatsListItem[contains(text(), "Age:")]/text()
82+
|
83+
$modelStatsListItem[contains(text(), "Birthday:")]/text()
84+
concat: "|"
85+
postProcess: &birthdatePostProcess
8786
- javascript: |
8887
if (value && value.length) {
89-
const months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
90-
const [dateStr, age] = value.split(', ')
91-
const [month, dateOfMonth] = dateStr.split(' ')
88+
const [age, birthday] = value.split('|').map(s => s.trim().replace(/.*:\s*/, ''))
89+
console.debug({age, birthday})
9290
const currentYear = new Date().getFullYear()
93-
const parsedDate = new Date(currentYear, months.indexOf(month), dateOfMonth, 12)
91+
const [month, dateOfMonth] = birthday.split(' ')
92+
console.debug({month, dateOfMonth})
93+
const monthIndex = [
94+
'January', 'February', 'March', 'April', 'May', 'June',
95+
'July', 'August', 'September', 'October', 'November', 'December'
96+
].indexOf(month)
97+
const parsedDate = new Date(currentYear, monthIndex, dateOfMonth, 12)
9498
const now = new Date()
9599
let extraYear = 0
96100
if (
@@ -103,11 +107,25 @@ xPathScrapers:
103107
) {
104108
extraYear = 1
105109
}
106-
const birthDate = new Date(currentYear - age + extraYear, months.indexOf(month), dateOfMonth, 12)
107-
console.log({dateStr, age, currentYear, parsedDate, now, extraYear, birthDate})
110+
const birthDate = new Date(currentYear - age - extraYear, monthIndex, dateOfMonth, 12)
111+
console.debug({age, birthday, currentYear, parsedDate, now, extraYear, birthDate})
112+
108113
return birthDate.toISOString().substr(0, 10)
109114
}
110115
return value
116+
performerScraperTSRaw:
117+
common:
118+
$infoList: //dl[contains(@class, "model")]
119+
$description: //div[contains(@class, "details")]//div[contains(@class, "description")]
120+
performer:
121+
Name: //div[contains(@class, "model-view")]//h3[contains(@class, "title")]
122+
Birthdate:
123+
selector: >-
124+
//dt[text()="Age"]/following-sibling::dd[1]//text()
125+
|
126+
//dt[text()="Born"]/following-sibling::dd[1]//text()
127+
concat: "|"
128+
postProcess: *birthdatePostProcess
111129
Height:
112130
selector: $infoList//dt[text()="Height"]/following-sibling::dd[1]//text()
113131
postProcess: *heightPostProcess
@@ -190,4 +208,4 @@ xPathScrapers:
190208

191209
driver:
192210
useCDP: true
193-
# Last Updated January 15, 2025
211+
# Last Updated June 18, 2025

0 commit comments

Comments
 (0)