从链接下载PDF但服务器重定向到主页

2 投票
2 回答
1145 浏览
提问于 2025-04-18 18:20

我正在尝试用urllib从一个网页下载一个pdf文件。我用了在浏览器中可以下载文件的源链接,但在Python中用这个链接下载文件却失败了。下载的结果是重定向到了主页。

import os
import urllib
os.chdir(r'/Users/file')
url = "http://www.australianturfclub.com.au/races/SectionalsMeeting.aspx?meetingId=2414"
urllib.urlretrieve (url, "downloaded_file")

请尝试从提供的链接或重定向的网站手动下载文件,主页上的链接叫做“sectionals”。非常感谢你的帮助。

2 个回答

0

在Python3中:

import urllib.request
import shutil
local_filename, headers = urllib.request.urlretrieve('http://www.australianturfclub.com.au/races/SectionalsMeeting.aspx?meetingId=2414')
shutil.move(local_filename, 'ret.pdf')

这里提到的shutil是因为Python会把文件保存到一个临时文件夹(在我的情况下,这个临时文件夹是在另一个分区,所以使用os.rename会出错)。

1

这是因为给出的链接会把你重定向到一个“原始”的pdf文件。通过使用Firebug查看响应头,我可以找到文件名sectionals/2014/2607RAND.pdf(见下面的截图)。这个文件名是相对于当前的.aspx文件的,所以你需要把链接改成(在你的情况下,就是把url变量改成这个链接)http://www.australianturfclub.com.au/races/sectionals/2014/2607RAND.pdf

Firebug输出

撰写回答