pitone urllib2 urlopen risposta:pitone urllib2 urlopen risposta
<addinfourl at 1081306700 whose fp = <socket._fileobject object at 0x4073192c>>
previsto:
{ "token": "mYWmzpunvasAT795niiR"}
pitone urllib2 urlopen risposta:pitone urllib2 urlopen risposta
<addinfourl at 1081306700 whose fp = <socket._fileobject object at 0x4073192c>>
previsto:
{ "token": "mYWmzpunvasAT795niiR"}
È necessario associare l'oggetto risultante simile a un file a una variabile, o therwise l'interprete basta discariche tramite repr
:
>>> import urllib2
>>> urllib2.urlopen('http://www.google.com')
<addinfourl at 18362520 whose fp = <socket._fileobject object at 0x106b250>>
>>>
>>> f = urllib2.urlopen('http://www.google.com')
>>> f
<addinfourl at 18635448 whose fp = <socket._fileobject object at 0x106b950>>
Per ottenere i dati effettivi è necessario eseguire un read()
.
>>> data = f.read()
>>> data[:50]
'<!doctype html><html itemscope="itemscope" itemtyp'
Per vedere le intestazioni restituite:
>>> print f.headers
Date: Thu, 23 Aug 2012 00:46:22 GMT
Expires: -1
Cache-Control: private, max-age=0
... etc ...
Aggiungere quanto segue dopo la chiamata al urlopen
print feed.read()
Forse troverete utilizzando il requests
library più intuitivo da usare rispetto urllib2
.
Buona chiamata, grazie! –
Ho una domanda qui. Se non immagazzino il contenuto di 'f' in' data', e semplicemente eseguo 'f.read()', ottengo il contenuto solo una volta. Se faccio di nuovo 'f.read()', stampa una stringa vuota. Perché? –
@SidharthSamant: poiché si sono consumati tutti i dati dallo stream, non è memorizzato internamente da 'urllib2'. – mhawke