[Python] dati da socket - lettura riga per riga
Luca Zucchelli
tiratenefuori a gmail.com
Gio 26 Nov 2015 22:21:10 CET
ciao a tutti
stavo provando ad estrarre informazioni da dati ottenuti tramite socket.
se faccio print dei dati che ottengo tutto è perfetto ma quando tento di
estrarre i dati sembra che questi non siano come me li aspetto (cioè in
righe di caratteri).
Io uso i dati come se aprissi un file e lo leggessi riga per riga (forse è
quì che sbaglio), invece mi legge carattere per carattere, ma non saprei
come altro fare. Mi date qualche spunto su cosa cercare perchè non riesco a
trovare niente di utile, sulla documentazione di python usano repr(data) ma
non ho ottenuto i risultati che speravo.
Forse dovrei fare un loop fino al carattere di fine riga e salvare in una
lista, ma è il modo corretto di farlo?
questo è il mio codice:
#http://www.pythonlearn.com/code/intro-short.txt
import socket
import re
mysock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
mysock.connect(('www.pythonlearn.com', 80))
mysock.send ('GET http://www.pythonlearn.com/code/intro-short.txt
HTTP/1.0\n\n' )
d = ''
#Receive data from the socket. The return value is a bytes object
representing the data received
while True:
data = mysock.recv(512)
if (len(data)<1):
break
d += data
print(d)
stringdata = d.decode('utf-8')
print(stringdata)
for line in stringdata:
print(line)
matchLast = re.findall('^Last-Modified: (.+)', line)
print(matchLast) # i dati che cerco
mysock.close()
grazie
Luca
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20151126/8dbea89d/attachment.html>
Maggiori informazioni sulla lista
Python