当前位置: 首页 > 面试题库 >

如何使用Python请求获取pdf文件名?

利思源
2023-03-14
问题内容

我正在使用Python请求库从网络获取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文件的文件名吗?


问题答案:

它在http标头中指定content-disposition。因此,要提取名称,您将执行以下操作:

import re
d = r.headers['content-disposition']
fname = re.findall("filename=(.+)", d)[0]

通过正则表达式(re模块)从字符串中提取的名称。



 类似资料:
  • 请不要使用“tika”作为答案。我已经尝试了这个问题的答案: 如何从PDF文件中提取文本? 我有这个PDF文件,https://drive.google.com/file/d/1aUfQAlvq5hA9kz2c9CyJADiY3KpY3-Vn/view?usp=sharing,我想复制文本。 输出为“提交日期:2019-10-21 16:03:36.093 |表单键:5544”,这只是文本的一部分

  • 问题内容: 我正在尝试教自己一些基本的网络抓取。使用Python的请求模块,在尝试以下操作之前,我能够抓取各种网站的html: 我得到的不是基本的html,而是本页面的内容: 我已经尝试过将get / post与我可以从文档,SO和其他示例中猜到的每种语法进行多种组合。我不明白上面看到的内容,无法将其转换为可以阅读的任何内容,也无法弄清楚如何获得自己真正想要的东西。我的问题是,如何获取以上页面的h

  • 我正在执行使用Python请求库上传文件的简单任务。我搜索了Stack Overflow,似乎没有人遇到同样的问题,即服务器无法接收文件: 我正在用我的文件名填充upload_file关键字的值,因为如果我把它留空,它会说 现在我得到了 只有当文件为空时才会显示。所以我一直在思考如何成功地发送文件。我知道这个文件是有效的,因为如果我去这个网站手动填写表单,它会返回一个匹配对象的列表,这就是我想要的

  • 问题内容: 我在应用程序的一种方法中使用Python的请求库。该方法的主体如下所示: 我想为该方法编写一些单元测试,但是,我想做的是传递一个伪本地URL,例如: 当我使用本地URL调用 requests.get 时,出现以下 KeyError 异常: 问题是如何将本地URL传递给 request.get ? PS:我整理了上面的示例。它可能包含许多错误。 问题答案: 正如@WooParadog解释

  • 我需要从网上下载PDF文件,例如 此链接。我必须使用流来做。使用图像,它的工作原理很好: 但是对于PDf,它不起作用。可能是什么问题?

  • 我正在寻找一种在python中下载pdf文件的方法,我看到了关于推荐urllib模块的其他问题的答案。我试图用它下载一个pdf文件,但是当我试图打开下载的文件时,一条消息显示该文件无法打开。 错误消息 这是我使用的代码- 我做错了什么?此外,该文件会自动保存到python文件所在的目录中。如何更改它保存到的位置? 编辑-我再次尝试使用示例pdf的链接,http://unec.edu.az/appl