当前位置: 首页 > 知识库问答 >
问题:

如何使用python通过https下载pdf文件

太叔繁
2023-03-14

我正在编写一个python脚本,它将根据URL中给定的格式在本地保存pdf文件。例如。

https://Hostname/saveReport/file_name.pdf   #saves the content in PDF file.

我正在通过python脚本打开此URL:

 import webbrowser
 webbrowser.open("https://Hostname/saveReport/file_name.pdf")  

url包含大量图像和文本。一旦这个URL被打开,我想用python脚本以pdf格式保存一个文件。

这是我到目前为止所做的。
代码1:

import requests
url="https://Hostname/saveReport/file_name.pdf"    #Note: It's https
r = requests.get(url, auth=('usrname', 'password'), verify=False)
file = open("file_name.pdf", 'w')
file.write(r.read())
file.close()

代码2:

 import urllib2
 import ssl
 url="https://Hostname/saveReport/file_name.pdf"
 context = ssl._create_unverified_context()
 response = urllib2.urlopen(url, context=context)  #How should i pass authorization details here?
 html = response.read()

在上面的代码我得到: urllib2.HTTP错误401:未授权

如果使用代码2,如何传递授权详细信息?

共有3个答案

习海
2023-03-14

你可以尝试这样的方法:

import requests
response = requests.get('https://websitewithfile.com/file.pdf',verify=False, auth=('user', 'pass'))
with open('file.pdf','w') as fout:
   fout.write(response.read()):
澹台成龙
2023-03-14

一种方法是:

import urllib3
urllib3.disable_warnings()
url = r"https://websitewithfile.com/file.pdf"
fileName = r"file.pdf"
with urllib3.PoolManager() as http:
    r = http.request('GET', url)
    with open(fileName, 'wb') as fout:
        fout.write(r.data)
伍皓
2023-03-14

我想这会管用的

import requests
import shutil
url="https://Hostname/saveReport/file_name.pdf"    #Note: It's https
r = requests.get(url, auth=('usrname', 'password'), verify=False,stream=True)
r.raw.decode_content = True
with open("file_name.pdf", 'wb') as f:
        shutil.copyfileobj(r.raw, f)
 类似资料:
  • 我正在寻找一种在python中下载pdf文件的方法,我看到了关于推荐urllib模块的其他问题的答案。我试图用它下载一个pdf文件,但是当我试图打开下载的文件时,一条消息显示该文件无法打开。 错误消息 这是我使用的代码- 我做错了什么?此外,该文件会自动保存到python文件所在的目录中。如何更改它保存到的位置? 编辑-我再次尝试使用示例pdf的链接,http://unec.edu.az/appl

  • 我有一个上传文件的webapp。您可以使用有效帐户登录该站点,然后下载这些文件。我目前正在使用Ruby、Capybara和SeleniumWebDriver自动化整个框架,但我无法自动化下载文件的过程。 到目前为止,我尝试使用Selenium(这不起作用),还使用了Ruby库: 其中是指向该文件的链接的href,但首先我得到以下错误: openssl::ssl::sslerror:ssl_conn

  • 问题内容: 我有以下代码,可以轻松连接到FTP服务器并打开一个zip文件。我想将该文件下载到本地系统。怎么做? 问题答案:

  • 我正在尝试下载https://occ.ca/our-publications 我的最终目标是解析PDF文件中的文本并定位某些关键字。 到目前为止,我已经能够抓取所有页面上PDF文件的链接。我已将这些链接保存到列表中。现在,我想浏览一下列表并用Python下载所有pdf文件。下载完文件后,我想对它们进行解析。 这是我迄今为止使用的代码: 这是我运行代码时遇到的错误。 回溯(最近的最后一次调用):ur

  • 问题内容: 我正在构建一个应用程序,以从后端服务器下载PDF文件。我写了以下代码: 在后端服务器上,方法如下: 我从我的适配器调用此rest方法为: 通话结束后,我从此服务获得以下响应: 如何解析此响应为PDF文件并将其显示给用户?当我使用以下代码从应用程序中简单地调用此适配器方法时,当我右键单击适配器并选择运行为“调用移动适配器”时,也会收到此响应: 我在浏览器的控制台上得到了相同的响应,但是正

  • 问题内容: 我正在尝试使用selenium从网站下载pdf文件,但我能够打开文件,但无法使用代码自动下载。 码: 请提出建议。先感谢您 问题答案: 以上问题现已解决