SORU
14 Mayıs 2009, PERŞEMBE


Nasıl bir dosya a 'akıllı' şekilde python kullanarak indirmek için?

Python ile http üzerinden birkaç dosya indirmem gerekiyor.

Bunu en bariz şekilde sadece urllib2 kullanarak

import urllib2
u = urllib2.urlopen('http://server.com/file.html')
localFile = open('file.html', 'w')
localFile.write(u.read())
localFile.close()

Ama bir şekilde kötü olan URL ile uğraşmak zorunda kalacağım, şöyle ki: http://server.com/!Run.aspx/someoddtext/somemore?id=121&m=pdf. Tarayıcı ile yüklendiğinde, bu dosya okunabilir bir isim, yani vardır. accounts.pdf.

Dosya isimlerini biliyorum ve benim komut dosyası içine koda gerek yok yani python bununla baş etmenin bir yolu var mı?

CEVAP
14 Mayıs 2009, PERŞEMBE


Böyle indir komut dosya adı: başlık söylüyorum kullanıcı Aracısı itme eğilimindedir

Content-Disposition: attachment; filename="the filename.ext"

Eğer bu başlığı kapmak eğer, doğru dosya adı alabilirsiniz.

Content-Dispositionçekici için teklif edilen bir iş için kod biraz var another thread var.

remotefile = urllib2.urlopen('http://example.com/somefile.zip')
remotefile.info()['Content-Disposition']

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Maschine Tutorials

    Maschine Tut

    15 ŞUBAT 2011
  • Matt Harding

    Matt Harding

    23 Mayıs 2006
  • Trevor Eckhart

    Trevor Eckha

    19 Aralık 2009