【问题标题】:Downloading a pdf from link but server redirects to homepage从链接下载 pdf 但服务器重定向到主页
【发布时间】:2014-10-17 15:56:22
【问题描述】:

我正在尝试使用 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")

请尝试从提供的链接或重定向站点手动下载文件,主页上的链接称为“部分”。 非常感谢您的帮助。

【问题讨论】:

    标签: python python-2.7 selenium mechanize urllib


    【解决方案1】:

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

    【讨论】:

    • 不错的发现,但有没有办法使用 python 检索这个文件名。我已经尝试过使用urllib.info().headers,但当前的meetingId=2414 没有任何显示。
    【解决方案2】:

    在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 会给我一个错误)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-06
      • 1970-01-01
      • 2014-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多