@@ -39,6 +39,7 @@ sceneByQueryFragment:
3939xPathScrapers :
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
191209driver :
192210 useCDP : true
193- # Last Updated January 15 , 2025
211+ # Last Updated June 18 , 2025
0 commit comments