Python 使用urllib.requests下载pdf会写入无法打开的pdf
我正在尝试从具有身份验证的网站下载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”)”上。通过身份验证后,请改为使用以下
听起来你的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()