Mam tutaj przykładowy kod HTML i próbuję zaznaczyć tekst wewnątrz <a>
tagu:
<div class="fsCalendarDaybox fsStateHasEvents">
<div class="fsCalendarDate" data-day="10" data-year="2019" data-month="0">
<span class="fsCalendarDay">Thu,</span>
<span class="fsCalendarMonth">Jan</span>10
</div>
<div class="fsCalendarInfo">
<a class="fsCalendarEventTitle fsCalendarEventLink" title="D Day " data-occur-id="292598" href="#">D Day</a>
</div>
Na stronie jest wiele innych podobnych uchwytów i muszę być w stanie wybrać prawidłowy Dzień Listu (wartość wewnątrz <a>
znacznika) na podstawie dnia i miesiąca wprowadzania. Oto kod Swift, którego próbuję teraz użyć:
func parseData(dataToParse:String) -> String {
let Month = 0
let Day = 10
do{
let doc = try SwiftSoup.parse(dataToParse)
do{
let innerDiv = try doc.select("div.fsCalendarDate[data-day=\(Day)][data-month=\(Month)] + div.fsCalendarInfo")
do{
let a = try innerDiv.select("a.fsCalendarEventTitle")
print(try a.text() as Any)
if(try a.text() != nil){
return (try a.text())
}
else{
return "empty"
}
}
}
}
catch{
print("CANNOT PARSE WEBSITE DATA")
return "ERROR"
}
}
Niestety dostaję różnego rodzaju błędy i nie mogę konsekwentnie wybierać właściwego <div>
elementu z poprawną datą. Czy ktoś wie, co robię źle?
Myślę, że wymyśliłem tutaj swój problem (używanie przecinków pomieszało wszystko), ale jeśli ktokolwiek ma bardziej skuteczny sposób na wybranie tego elementu, chciałbym go usłyszeć!
Nolan Gelinas