Web'den bir PDF dosyası almak için Python requests lib kullanıyorum. Bu iyi çalışıyor, ama şimdi de orijinal dosya adını istiyorum. Firefox'ta bir PDF dosyasına gidip download
'u tıklarsam, pdf'yi kaydetmek için tanımlanmış bir dosya adı zaten vardır. Bu dosya adını nasıl alabilirim? ÖrneğinPython istekleri ile pdf dosya adı nasıl edinilir?
:
import requests
r = requests.get('http://www.researchgate.net/profile/M_Gotic/publication/260197848_Mater_Sci_Eng_B47_%281997%29_33/links/0c9605301e48beda0f000000.pdf')
print r.headers['content-type'] # prints 'application/pdf'
ilginç bir şey için r.headers
kontrol, ancak hiçbir dosya adı orada var. Aslında r.filename
gibi bir şey umuyordum.
İndirilen PDF dosyasının dosya adını istek kitaplığı ile nasıl alabileceğimi bilen var mı? o her zaman böyle olması durumunda
r.headers['content-disposition']
olsa Bilmiyorum:
İlginç - “iyi * açıkçası *' 0c9605301e48beda0f000000.pdf' ”(istekte olduğu gibi) diyecektim ama neyse ki önce bunu test etmeye karar verdim. Ve FireFox bunu "Mater Sci Eng B47 (1997) 33.pdf" olarak kaydetmek istiyor. – usr2564301
Başlıkları nasıl kontrol ediyorsunuz? _is_ dosya adı, content-disposition: satır içi; filename = "Mater Sci Eng B47 (1997) 33.pdf" '. FWIW, birçok PDF'de, bunların hepsinde değil, hepsinde bir [Başlık] (http://stackoverflow.com/q/6367304/4014959) bulunur ve PDF'in ikili biçimde olması durumunda erişilmesi kolay olmayabilir. –