7

我正在寻找一种在 python 中下载 pdf 文件的方法,我看到了其他问题的答案,推荐了 urllib 模块。我尝试使用它下载 pdf 文件,但是当我尝试打开下载的文件时,会显示一条消息,提示无法打开该文件。

错误信息

这是我使用的代码-

import urllib
urllib.urlretrieve("http://papers.gceguide.com/A%20Levels/Mathematics%20(9709)/9709_s11_qp_42.pdf", "9709_s11_qp_42.pdf")

我究竟做错了什么?此外,该文件会自动保存到我的 python 文件所在的目录中。如何更改它的保存位置?

编辑-我再次尝试使用示例 pdf 的链接,http://unec.edu.az/application/uploads/2014/12/pdf-sample.pdf

该代码正在使用此链接,那么为什么它不适用于另一个?

4

3 回答 3

10

尝试这个。有用。

import requests
url='https://pdfs.semanticscholar.org/c029/baf196f33050ceea9ecbf90f054fd5654277.pdf'
r = requests.get(url, stream=True)

with open('C:/Users/MICRO HARD/myfile.pdf', 'wb') as f:
f.write(r.content)
于 2017-08-14T08:40:54.217 回答
4

您还可以使用 wget 通过链接下载 pdf:

import wget

wget.download(link)

以下是有关如何一次性从网页搜索和下载所有 pdf 文件的指南:https ://medium.com/the-innovation/notesdownloader-use-web-scraping-to-download-all-pdfs-with-python -511ea9f55e48

于 2020-12-24T09:21:29.090 回答
0
  • 您不能使用 requests或从给定的 url 下载 pdf 内容urllib
  • 因为最初给定的 url 指向另一个网页,之后它才加载 pdf。
  • 如果您有疑问,请将响应保存为 html 而不是 pdf。
  • 您需要使用无头浏览器,例如panthomJS从此类网页下载文件。
于 2017-05-10T13:52:51.870 回答