【发布时间】:2015-10-26 14:14:43
【问题描述】:
我正在使用 Python requests lib 从网上获取 PDF 文件。这很好用,但我现在也想要原始文件名。如果我在 Firefox 中转到 PDF 文件并单击 download,它已经定义了一个文件名来保存 pdf。我如何获得这个文件名?
例如:
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'
我检查了r.headers 是否有任何有趣的内容,但其中没有文件名。我实际上希望像r.filename..
有人知道我如何使用请求库获取下载的 PDF 文件的文件名吗?
【问题讨论】:
-
有趣——我本来想说,“好吧显然
0c9605301e48beda0f000000.pdf”(正如请求中的那样)但幸运的是我决定先测试它。并且 FireFox 想将其保存为“Mater Sci Eng B47 (1997) 33.pdf”。 -
你如何检查标题?文件名在那里,
content-disposition : inline; filename="Mater Sci Eng B47 (1997) 33.pdf"。 FWIW,许多 PDF 都嵌入了 Title,但不是全部,如果 PDF 是二进制形式,可能不容易访问。
标签: python pdf python-requests filenames