SORU
12 HAZİRAN 2009, Cuma


Nasıl urllib bilmek.urlretrieve başarılı olur?

urllib.urlretrieve http dosya uzak sunucuda mevcut değilse bile dönmesiyle, sadece ismi belirtilen dosya için bir html sayfası olarak kaydeder. Örneğin:

urllib.urlretrieve('http://google.com/abc.jpg', 'abc.jpg')

eğer abc.jpg google.com sunucu mevcut değilse bile sessizce sadece döner, oluşturulan abc.jpg geçerli bir jpg dosyası değil, aslında html bir sayfa . İade başlıklar (httplib.sanırım Örnek HTTPMessage) aslında alma başarı olup olmadığını söylemek için kullanılabilir, ama httplib.HTTPMessage herhangi bir doktor bulamıyorum.

Kimsenin bu sorun hakkında biraz bilgi verebilir mi?

CEVAP
12 HAZİRAN 2009, Cuma


Mümkün olması halinde urllib2 kullanmayı düşünün. Daha gelişmiş ve urllib kullanımı daha kolaydır.

Herhangi bir HTTP hataları kolayca tespit edebilirsiniz:

>>> import urllib2
>>> resp = urllib2.urlopen("http://google.com/abc.jpg")
Traceback (most recent call last):
<<MANY LINES SKIPPED>>
urllib2.HTTPError: HTTP Error 404: Not Found

resp aslında çok faydalı şeyler yapabilirsiniz HTTPResponse nesne:

>>> resp = urllib2.urlopen("http://google.com/")
>>> resp.code
200
>>> resp.headers["content-type"]
'text/html; charset=windows-1251'
>>> resp.read()
"<<ACTUAL HTML>>"

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • nemoking of kinges

    nemoking of

    4 EYLÜL 2009
  • thetrollska

    thetrollska

    2 EKİM 2009
  • YAN TV

    YAN TV

    20 EKİM 2011