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

  • brokenbellsVEVO

    brokenbellsV

    11 EYLÜL 2009
  • GoldgenieOfficial

    GoldgenieOff

    23 Temmuz 2009
  • Kanál používateľa McsFuego

    Kanál použ

    12 EKİM 2011