使用urllib.requests下载pdf时生成无法打开的pdf
我正在尝试从一个需要登录的网站下载一个pdf文件,并把它保存在本地。这个代码看起来是可以运行的,但保存下来的pdf文件打不开(提示“文件类型不支持或者文件已损坏”)。
import urllib.request
auth_handler = urllib.request.HTTPBasicAuthHandler()
auth_handler.add_password(realm=None,
uri=r'http://website/',
user='admin',
passwd='pass')
opener = urllib.request.build_opener(auth_handler)
urllib.request.install_opener(opener)
url = 'http://www.website.com/example.pdf'
res = opener.open(url)
urllib.request.urlretrieve(url, "example.pdf")
2 个回答
0
我觉得问题出在这行代码:“urllib.request.urlretrieve(url, "example.pdf")”。在你完成身份验证后,可以用下面这种方式来保存文件:
pdfFile = urllib.request.urlopen(url)
file = open("example.pdf", 'wb')
file.write(pdfFile.read())
file.close()
0
听起来你输入的链接有问题。确保在浏览器中输入这个链接时,能正确打开一个“.pdf”文件。
编辑:
我想说的是,你的链接应该像这样:“http://www.cse.msu.edu/~chooseun/Test2.pdf”。你的代码必须能够从这个网址获取到这个pdf文件。希望这能帮到你。