Vinzenz Mai: Linux: Werte aus dem Web holen und verarbeiten

Beitrag lesen

Hallo Dennis,

ich konzentriere mich einfach auf ein erstes Problem:
Wie lese ich die Temperatur aus?

awk und ein einziger Wert, Du schießt mit Kanonen auf Spatzen. Ich nähme eher Python, vielleicht täte es sogar 'ne nette Kombination von Basiswerkzeugen :-)
aber wie? Wie soll ich (ich weiß nicht einmal ob ich den Quelltext oder den Output untersuchen muss)

was wget herunterlädt, ist zunächst mal das, was der Server antwortet :-)
Du wirst kein Javascript ausführen wollen, also helfen Dir nur HTML-Seiten, in denen die Temperatur im Klartext steht.

denn an eine Zahl kommen die zwischen hunderten anderen Zeilen/Texten steht?

Du musst den Quelltext der HTML-Seite, die Du auswertest, schon selbst analysieren und Du solltest bedenken, dass der Anbieter der Seite die Ausgabe ändern kann, ohne Dich darüber zu informieren :-)

Nehmen wir zum Beispiel an, im Quellcode sähe es wie folgt aus:

		Temperatur: 21.1 &deg;C<br />  
		Taupunkt: 18.9 &deg;C<br />		  
		Gef&uuml;hlte Temperatur: 21.1 &deg;C<br />	  

und sonst käme nirgendwo im Quelltext die Zeichenkombination

Temperatur: <wert>

vor, so könntest Du die Ausgabe von wget mit Hilfe der Option

wget -O - [und sonstiger Kram], siehe man wget, Download-Options, d.h.

-O <file>
  --output-file=<file>

Ich zitiere:

<zitat>
    If ‘-’ is used as file, documents will be printed to standard output,
    disabling link conversion. (Use ‘./-’ to print to a file literally
    named ‘-’.)
</zitat>

an die Standardausgabe leiten, das wiederum durch grep schicken, so wie ich es im verlinkten Beispiel mit ifconfig getan habe, davon nur die erste Zeile betrachten (das ginge ähnlich wie von mir in diesem Archivbeitrag für die letzte Zeile beschrieben), trenne diese Zeile am Doppelpunkt, nehme den zweiten Abschnitt, trenne am Leerzeichen und nähme den Abschnitt, der die Zahl enthält, d.h. noch ein paar cut-Operationen, fertig.

Hört sich jetzt vielleicht kompliziert an, aber Du kannst das Schritt für Schritt aufbauen, so wie ich dies in den verlinkten Beitragen (bzw. im im verlinkten Beitrag verlinkten Beitrag) aufgedröselt habe.

Freundliche Grüße

Vinzenz