Wie bekomme ich diesen Wert mit BS4?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Der Code tut was er soll:

>>> soup.find('div', attrs = {'id':'d2l2'})
<div class="wordbreak" id="d2l2">
<span>
<b>{{station.yvalue|numberpa}} {{yUnit}}</b>
</span>
</div>

Dein Problem ist, dass die Seite die Daten mit JS-Code nachträglich lädt. Requests lädt also nur den HTML-Code mit den Platzhaltern, führt aber nicht den JS-Code aus um diese mit Daten zu überschreiben...

Ich würde Selenium (https://selenium-python.readthedocs.io/) verwenden und einen Browser fernsteuern. Dann sollte das Auslesen klappen!

Woher ich das weiß:Berufserfahrung

Das wird wahrscheinlich mit js dynamisch da reingeladen. Musst das also irgendwie anders lösen. Z.b. mit Selenium.

Woher ich das weiß:Studium / Ausbildung – Informatikstudent