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

时间:2014-08-24 08:43:36

标签: python python-2.7 selenium mechanize urllib

我正在尝试使用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 :(得分:1)

这是因为给定的链接会将您重定向到“原始”pdf文件。通过Firebug检查响应标头,我可以获取文件名sectionals/2014/2607RAND.pdf(请参阅下面的屏幕截图),因为它与当前.aspx文件相关,所需的URI应切换为(在您的情况下,将url变量更改为此链接)http://www.australianturfclub.com.au/races/sectionals/2014/2607RAND.pdf

Firebug output

答案 1 :(得分: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会给我一个错误)。