Ich bin perplex darüber, warum ich nicht den gesamten Inhalt einiger JSON-Antworten von FriendFeed mit urllib2 herunterladen kann.urllib2 ruft nicht die gesamte HTTP-Antwort ab
>>> import urllib2
>>> stream = urllib2.urlopen('http://friendfeed.com/api/room/the-life-scientists/profile?format=json')
>>> stream.headers['content-length']
'168928'
>>> data = stream.read()
>>> len(data)
61058
>>> # We can see here that I did not retrieve the full JSON
... # given that the stream doesn't end with a closing }
...
>>> data[-40:]
'ce2-003048343a40","name":"Vincent Racani'
Wie kann ich die vollständige Antwort mit Urllib2 abrufen?
der Website gebrochen. Probieren Sie es in einem Browser aus. –
Ich bekomme die volle 165K der Antwort, wenn ich diese URL mit Firefox 3.0 auf Ubuntu 9.04 treffe. Das abgerufene JSON-Dokument ist in meinem Browser wohlgeformt. – gotgenes
Ja, die Website ist defekt. Aber das ist sicherlich ein Fehler in "urllib" und "urllib2", da andere Tools (curl, wget) unvollständige Antworten melden. Es wäre schön zu wissen, was in Python-Bibliotheken nicht stimmt. –