NEWS
Parser-Ausdruck für Ebbe&Flut gesucht
-
Hallo zusammen,
in folgender Seite möchte ich Ebbe und Flut Uhrzeiten auslesen:
https://de.tideschart.com/Spain/Canary-Islands/Provincia-de-Las-Palmas/Playa-de-Costa-Calma/
Was muss da in Parser rein?
Hochwasser ist um[^x]+[^\d]+(\d+)
...wirft mir nur eine "2" als Wert zurück.
-
@hg6806 ist das der Quelltext?
Das ist doch wieder nur der HTML-Code der Seite.r ist u[^\d]+([\d\:]+)
Num0 =Hochwasser
Num1= Niedrigwasser -
@hg6806 sagte in Parser-Ausdruck für Ebbe&Flut gesucht:
Hallo zusammen,
in folgender Seite möchte ich Ebbe und Flut Uhrzeiten auslesen:
https://de.tideschart.com/Spain/Canary-Islands/Provincia-de-Las-Palmas/Playa-de-Costa-Calma/
Was muss da in Parser rein?
Hochwasser ist um[^x]+[^\d]+(\d+)
...wirft mir nur eine "2" als Wert zurück.
probier mal
nächste Hochwasser ist um <br>(.*)<\/h3>(.<\/div>){4} <
dein regex kann ich gar nicht nachvollziehen.
Insbesondere das[^x]+
Match a single character not present in the list below [^x]
- matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
x matches the character x
und dann das selbe nochmal mit "keine Zahl"?
Nachtrag:
oder noch einfachernächste Hochwasser ist um <br>([\d:]*)
- matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
-
@oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:
dann das selbe nochmal mit "keine Zahl"?
dann passt es !
@oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:
dein regex kann ich gar nicht nachvollziehen.
MeToo
-
Sorry, habe was noch besseres entdeckt:
<th rowspan="2" id="day">Tag</th> <th colspan="4">Tidenkalender für Playa de Costa Calma</th> <th colspan="2" rowspan="2"> <img src="/tideschart/assets/images/icons/weather-icons/svg/weather_sun_sunny_sunshine_warm.svg" alt="Sonnenaufgang und Sonnenuntergang" width="52" height="52"> </th> </tr> <tr> <th>1. Flut</th> <th>2. Flut</th> <th>3. Flut</th> <th>4. Flut</th> </tr> </thead> <tbody> <tr> <td class="day">24 Di</td><td class="tide-u">03:22<div><i>▲</i> 2.17 m</div></td><td class="tide-d">09:25<div><i>▼</i> 0.49 m</div></td><td class="tide-u">15:36<div><i>▲</i> 2.32 m</div></td><td class="tide-d">21:54<div><i>▼</i> 0.45 m</div></td> <td class="sun"><i>▲</i> 07:32</td> <td class="sun"><i>▼</i> 20:26</td> </tr><tr> <td class="day">25 Mi</td><td class="tide-u">03:57<div><i>▲</i> 2.14 m</div></td><td class="tide-d">10:01<div><i>▼</i> 0.52 m</div></td><td class="tide-u">16:11<div><i>▲</i> 2.26 m</div></td><td class="tide-d">22:28<div><i>▼</i> 0.51 m</div></td> <td class="sun"><i>▲</i> 07:32</td> <td class="sun"><i>▼</i> 20:25</td> </tr><tr> <td class="day">26 Do</td><td class="tide-u">04:31<div><i>▲</i> 2.09 m</div></td><td class="tide-d">10:35<div><i>▼</i> 0.59 m</div></td><td class="tide-u">16:45<div><i>▲</i> 2.17 m</div></td><td class="tide-d">23:01<div><i>▼</i> 0.6 m</div></td> <td class="sun"><i>▲</i> 07:33</td> <td class="sun"><i>▼</i> 20:24</td> </tr><tr> <td class="day">27 Fr</td><td class="tide-u">05:05<div><i>▲</i> 2.01 m</div></td><td class="tide-d">11:11<div><i>▼</i> 0.67 m</div></td><td class="tide-u">17:21<div><i>▲</i> 2.05 m</div></td><td class="tide-d">23:36<div><i>▼</i> 0.71 m</div></td> <td class="sun"><i>▲</i> 07:33</td> <td class="sun"><i>▼</i> 20:23</td> </tr><tr> <td class="day">28 Sa</td><td class="tide-u">05:41<div><i>▲</i> 1.92 m</div></td><td class="tide-d">11:49<div><i>▼</i> 0.78 m</div></td><td class="tide-u">17:59<div><i>▲</i> 1.92 m</div></td><td></td> <td class="sun"><i>▲</i> 07:34</td> <td class="sun"><i>▼</i> 20:22</td> </tr><tr> <td class="day">29 So</td><td class="tide-d">00:15<div><i>▼</i> 0.82 m</div></td><td class="tide-u">06:23<div><i>▲</i> 1.82 m</div></td><td class="tide-d">12:34<div><i>▼</i> 0.88 m</div></td><td class="tide-u">18:45<div><i>▲</i> 1.79 m</div></td> <td class="sun"><i>▲</i> 07:34</td> <td class="sun"><i>▼</i> 20:21</td> </tr><tr> <td class="day">30 Mo</td><td class="tide-d">01:02<div><i>▼</i> 0.93 m</div></td><td class="tide-u">07:15<div><i>▲</i> 1.74 m</div></td><td class="tide-d">13:34<div><i>▼</i> 0.97 m</div></td><td class="tide-u">19:49<div><i>▲</i> 1.68 m</div></td> <td class="sun"><i>▲</i> 07:35</td> <td class="sun"><i>▼</i> 20:20</td> </tr> </tbody> </table> </div>
Wie bekomme ich hier die Werte raus?
-
@oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:
oder noch einfacher
das ist gut - oder passend zu "meinem" RegEx:
r ist um ([\d:]*)
für Hoch (0) und Niedrigwasser (1) -
@hg6806 sagte in Parser-Ausdruck für Ebbe&Flut gesucht:
Sorry, habe was noch besseres entdeckt:
<th rowspan="2" id="day">Tag</th> <th colspan="4">Tidenkalender für Playa de Costa Calma</th> <th colspan="2" rowspan="2"> <img src="/tideschart/assets/images/icons/weather-icons/svg/weather_sun_sunny_sunshine_warm.svg" alt="Sonnenaufgang und Sonnenuntergang" width="52" height="52"> </th> </tr> <tr> <th>1. Flut</th> <th>2. Flut</th> <th>3. Flut</th> <th>4. Flut</th> </tr> </thead> <tbody> <tr> <td class="day">24 Di</td><td class="tide-u">03:22<div><i>▲</i> 2.17 m</div></td><td class="tide-d">09:25<div><i>▼</i> 0.49 m</div></td><td class="tide-u">15:36<div><i>▲</i> 2.32 m</div></td><td class="tide-d">21:54<div><i>▼</i> 0.45 m</div></td> <td class="sun"><i>▲</i> 07:32</td> <td class="sun"><i>▼</i> 20:26</td> </tr><tr> <td class="day">25 Mi</td><td class="tide-u">03:57<div><i>▲</i> 2.14 m</div></td><td class="tide-d">10:01<div><i>▼</i> 0.52 m</div></td><td class="tide-u">16:11<div><i>▲</i> 2.26 m</div></td><td class="tide-d">22:28<div><i>▼</i> 0.51 m</div></td> <td class="sun"><i>▲</i> 07:32</td> <td class="sun"><i>▼</i> 20:25</td> </tr><tr> <td class="day">26 Do</td><td class="tide-u">04:31<div><i>▲</i> 2.09 m</div></td><td class="tide-d">10:35<div><i>▼</i> 0.59 m</div></td><td class="tide-u">16:45<div><i>▲</i> 2.17 m</div></td><td class="tide-d">23:01<div><i>▼</i> 0.6 m</div></td> <td class="sun"><i>▲</i> 07:33</td> <td class="sun"><i>▼</i> 20:24</td> </tr><tr> <td class="day">27 Fr</td><td class="tide-u">05:05<div><i>▲</i> 2.01 m</div></td><td class="tide-d">11:11<div><i>▼</i> 0.67 m</div></td><td class="tide-u">17:21<div><i>▲</i> 2.05 m</div></td><td class="tide-d">23:36<div><i>▼</i> 0.71 m</div></td> <td class="sun"><i>▲</i> 07:33</td> <td class="sun"><i>▼</i> 20:23</td> </tr><tr> <td class="day">28 Sa</td><td class="tide-u">05:41<div><i>▲</i> 1.92 m</div></td><td class="tide-d">11:49<div><i>▼</i> 0.78 m</div></td><td class="tide-u">17:59<div><i>▲</i> 1.92 m</div></td><td></td> <td class="sun"><i>▲</i> 07:34</td> <td class="sun"><i>▼</i> 20:22</td> </tr><tr> <td class="day">29 So</td><td class="tide-d">00:15<div><i>▼</i> 0.82 m</div></td><td class="tide-u">06:23<div><i>▲</i> 1.82 m</div></td><td class="tide-d">12:34<div><i>▼</i> 0.88 m</div></td><td class="tide-u">18:45<div><i>▲</i> 1.79 m</div></td> <td class="sun"><i>▲</i> 07:34</td> <td class="sun"><i>▼</i> 20:21</td> </tr><tr> <td class="day">30 Mo</td><td class="tide-d">01:02<div><i>▼</i> 0.93 m</div></td><td class="tide-u">07:15<div><i>▲</i> 1.74 m</div></td><td class="tide-d">13:34<div><i>▼</i> 0.97 m</div></td><td class="tide-u">19:49<div><i>▲</i> 1.68 m</div></td> <td class="sun"><i>▲</i> 07:35</td> <td class="sun"><i>▼</i> 20:20</td> </tr> </tbody> </table> </div>
Wie bekomme ich hier die Werte raus?
bitte exakt definieren was du haben möchtest.
ein parser ausdruck kann genau einen wert zurückgeben. -
@oliverio
Alle!
Ich denke wenn ich den 1. Wert bekomme kann ich daraus die anderen herausfinden. -
@oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:
ein parser ausdruck kann genau einen wert zurückgeben.
oder er nimmt
(\d\d\:\d\d)
dann bekommt er alle Zeiten
Muss nur noch die richtieg NUM wählenwobei Tage mit nur 3 Tiden die NUMs durcheinanderwirbeln
-
Tag
Im Num-Feld für jede Zeile eins erhöhen, start mit 0<td class="day">([\d\s\w]*)<\/td>
Flut up
Im Num-Feld für jede Zeile jeweils um 2 erhöhen
Erste Zeile erstes Up =0, Erste Zeile zweites Up = 1
Zweite Zeile erstes Up =2, Zweite Zeile zweites Up = 2<td class="tide-u">([\d:]*)
Flut down
Num Feld analog zu up<td class="tide-d">([\d:]*)
-
@oliverio und wie willst du dann diese Uhrzeiten bestimmten Tagen zuordnen.
Am Samstag gibt es nur 3 Tiden -
@homoran
Ich würde das auch eher mit javascript und cheerio machen.
da kann man im jquery syntax die dom analysieren und schön die zeilen und spalten extrahieren.hab keine tiefenanalyse gemacht, ob das mit regex tatsächlich funktioniert.
nur mal den ansatz, wie man es mit regex machen kann.
logik versteht regex und der parser adapter halt nicht -
@homoran
Ich würde jetzt sagen dass es leer bleibt wie auch in der Tabelle.Ich denke das bekomme ich so hin und probiere es später aus.
Tausend Dank!!!
-
@oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:
ch würde das auch eher mit javascript und cheerio machen.
ich auch zumal die Tage ja in der Tabelle wandern.
@oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:
nur mal den ansatz, wie man es mit regex machen kann.
ja aber nur "statisch einmalig".
@oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:
hab keine tiefenanalyse gemacht,
ich kann mir nur vorstellen dass der nächste Wunsch sein wird, das ganze in heute, morgen, übermorgen... aufzuteilen, und das geht dann IMHO nicht mehr mit dem parser für jeden Tag der Zukunft
-
@hg6806 sagte in Parser-Ausdruck für Ebbe&Flut gesucht:
Ich würde jetzt sagen dass es leer bleibt
eben nicht
-
@hg6806 warum nimmst Du nicht die erste Seite und versuchst es damit:
(?<=nächste Hochwasser ist um <br>)(\d\d[:]\d\d)
-
@bbtown sagte in Parser-Ausdruck für Ebbe&Flut gesucht:
@hg6806 warum nimmst Du nicht die erste Seite und versuchst es damit:
(?<=nächste Hochwasser ist um <br>)(\d\d[:]\d\d)
die lösung gibts schon. er wollte dann mehr
-
@oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:
die lösung gibts schon. er wollte dann mehr
so sind sie alle
-
@bbtown sagte in Parser-Ausdruck für Ebbe&Flut gesucht:
@oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:
die lösung gibts schon. er wollte dann mehr
so sind sie alle
um es mit Konstantin Wecker zu sagen: "genug ist nie genug!"
-
@homoran oder "haben ist besser als brauchen" (na gut, das sage ich meist beim Einkaufen
)