Webseiten importieren
Verfasst: Montag 1. Februar 2016, 23:54
Die Seite http://wetter.orf.at/niederoesterreich/melk/ veröffentlicht die Wetterdaten von einer offiziellen Wetterstation. So eine steht auch in unserem Nachbargarten steht. Ich möchte vorerst die Temperatur anzeigen (und später vielleicht noch andere Daten).
Ich habe das Modul urllib gefunden, mit der Funktion urlopen() kann man ganz einfach die komplette Webseite in eine string-Variable laden und von dieser weiter arbeiten.
Mein Code dazu (in diesem Zusammenhang: wie kann man hier den Code mit Zeilennummern veröffentlichen?):
Allerdings möchte ich diese Abfrage in einem anderen Programm mitlaufen lassen, das aber unter Python3 läuft.
Ich habe auch noch diese Möglichkeit gefunden:
Nur schaffe ich es da nicht, mit der VAriablen t bzw. mit t.read() wie oben weiter zu arbeiten.
Der BEfehl print(t.read()[0:100]) gibt b'' zurück, wenn ich anschließen den Befehl
print(t.read()) absetze, wird auch nur mehr b'' ausgegeben und nicht mehr der Inhalt der Website.
Wie kann ich diese Website in Python einfach bearbeiten?
Ich habe das Modul urllib gefunden, mit der Funktion urlopen() kann man ganz einfach die komplette Webseite in eine string-Variable laden und von dieser weiter arbeiten.
Mein Code dazu (in diesem Zusammenhang: wie kann man hier den Code mit Zeilennummern veröffentlichen?):
Code: Alles auswählen
#!/usr/bin/python
# coding="utf-8"
# auslesen der Temperatur und Messzeit von Melk
from urllib import urlopen
content = urlopen("http://wetter.orf.at/niederprint "\n\n"
print "*"+Temperatur+"*"oesterreich/melk/").read()
Temperatur = content[content.find("Temperatur")+62:content.find("Temperatur")+73]
Zeit = content[content.find("Messwerte von"):content.find("Messwerte von")+23]
# die folgenden Korrekturen benötige ich, weil die Temperatur nicht immer am gleichen Platz steht.
# Wenn sie negativ ist, dann ist im Code vorher "§minus",
# außerdem werden einstellige Temperaturen nicht mit führender 0 angeführt
# sodass dann ein nachfolgendes Zeichen in der Variable "Tempteratur" steht.
if "&minus" in Temperatur:
Temperatur = Temperatur[7:]
else:
Temperatur = Temperatur[:4]
if "&" in Temperatur:
Temperatur = Temperatur[:3]
print Temperatur
print Zeit
Ich habe auch noch diese Möglichkeit gefunden:
Code: Alles auswählen
import urllib.request
Webseite = "http://blog.silvertech.at"
t = urllib.request.urlopen(Webseite)
print(t.read())Der BEfehl print(t.read()[0:100]) gibt b'' zurück, wenn ich anschließen den Befehl
print(t.read()) absetze, wird auch nur mehr b'' ausgegeben und nicht mehr der Inhalt der Website.
Wie kann ich diese Website in Python einfach bearbeiten?