Daten von Webseite über TCP Auslesen

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
GoldenerReiter
User
Beiträge: 17
Registriert: Montag 14. Juli 2014, 16:13

Hallo,
ich hoffe, dass ihr mir weiterhelfen könnt.
ich muss von einem Sensor über TCP daten einlesen können. Leider ist der Sensor noch nicht da, aber ich kann so lange den Web Sensor (212.111.6.29) verwenden. Davon muss ich die Temperatur, die Luftfeuchtigkeit und den Luftdruck herausbekommen.

mein Code lautet bisher

Code: Alles auswählen

HOST = '212.111.6.29'
PORT = 80
BUFFER_SIZE = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
data=s.recv(BUFFER_SIZE)
s.close()
print("received data: " + str(data))
aber als print kommt dann nur:
Wie kann ich an den von der Seite kommen und dann nach der Temperatur usw. suchen?
Eigentlich habe ich gedacht, dass in 'data' jetzt alles drinn steht, aber ich habe keine Ahnung was das b'' bedeuten soll.

Bin über jeden Hinweis dankbar.
mfg
BlackJack

@GoldenerReiter: Das b'' bedeutet das Du da eine Bytekette (Datentyp `bytes`) zurück bekommst der leer ist.

Wenn da ein Webserver läuft dann musst Du mit dem das HTTP-Protokoll sprechen. Dafür gibt es Bibliotheken. Ich würde die `requests`-Bibliothek empfehlen.

Und um das HTML was Du dann bekommst zu verarbeiten gibt es ebenfalls Bibliotheken. BeautifulSoup oder `lxml.html` sind dafür geeignet.
Antworten