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

  • alex maybury

    alex maybury

    20 Aralık 2007
  • Austin Evans

    Austin Evans

    5 AĞUSTOS 2007
  • BiGSH0TROB

    BiGSH0TROB

    7 NİSAN 2011