Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用urllib.requests下载pdf会写入无法打开的pdf_Python_Python 3.x_Urllib - Fatal编程技术网

Python 使用urllib.requests下载pdf会写入无法打开的pdf

Python 使用urllib.requests下载pdf会写入无法打开的pdf,python,python-3.x,urllib,Python,Python 3.x,Urllib,我正在尝试从具有身份验证的网站下载pdf文件,并将其保存在本地。此代码似乎正在运行,但保存了无法打开的pdf文件(“它不是受支持的文件类型,或者因为文件已损坏”) 听起来你的URL不好。在浏览器中输入该URL时,请确保在浏览器中获得“.pdf”文件 编辑: 我的意思是,您的URL应该是这样的:“您的代码必须能够从web地址中提取此pdf。希望这能有所帮助。我认为问题出在“urllib.request.urlretrieve(url,“example.pdf”)”上。通过身份验证后,请改为使用以下

我正在尝试从具有身份验证的网站下载pdf文件,并将其保存在本地。此代码似乎正在运行,但保存了无法打开的pdf文件(“它不是受支持的文件类型,或者因为文件已损坏”)


听起来你的URL不好。在浏览器中输入该URL时,请确保在浏览器中获得“.pdf”文件

编辑:


我的意思是,您的URL应该是这样的:“您的代码必须能够从web地址中提取此pdf。希望这能有所帮助。

我认为问题出在“urllib.request.urlretrieve(url,“example.pdf”)”上。通过身份验证后,请改为使用以下方式保存文件:

pdfFile = urllib.request.urlopen(url)
file = open("example.pdf", 'wb')
file.write(pdfFile.read())
file.close()

您是否尝试过在文本或二进制(十六进制)编辑器中打开下载的文件?如果是,它包含什么?啊,网站的源代码。我猜这意味着我的身份验证不好-可能是域?我还无法确定领域。它需要快速安装(
easy\u install requests
),但您可以尝试,因为它处理身份验证更透明。我现在正在尝试使用请求解决此问题,但遇到了相同的问题。我试过了-似乎不是问题。该网站重定向到登录,我最终下载了登录页面的源代码作为一个非常混乱的pdf。
pdfFile = urllib.request.urlopen(url)
file = open("example.pdf", 'wb')
file.write(pdfFile.read())
file.close()