如何使用python下载html页面后面的文件?

Vin*_*iuz 0 python file download

我正在尝试使用python从互联网上下载文件.我试过这段代码:

import urllib.requests
URL = 'http://www.mediafire.com/download/raju14e8aq6azbo/Getting+Started+with+MediaFire.pdf'
filename = "file.pdf"
urllib.request.urlretrieve(URL,filename)
Run Code Online (Sandbox Code Playgroud)

和:

from urllib.request import urlopen
from shutil import copyfileobj

URL = 'http://www.mediafire.com/download/raju14e8aq6azbo/Getting+Started+with+MediaFire.pdf'
filename = "file.pdf"
with urlopen(URL) as in_stream, open(filename, 'wb') as out_file:
    copyfileobj(in_stream, out_file)
Run Code Online (Sandbox Code Playgroud)

(我在最后的代码中找到了:使用什么命令代替urllib.request.urlretrieve?)

问题是这段代码下载了一个html文档而不是我需要的名为"MediaFire.pdf入门"的.pdf文件!我正在寻找一种方法来下载html页面后面提供的文件.

有什么建议吗?

Abd*_*iJK 6

那是因为您尝试下载的链接不是pdf文件.这是一个HTML文档.您可以使用chrome/firefox /其他浏览器打开.

您需要找到要下载的正确链接.尝试在浏览器中使用"另存为" - 如果可以,那么python代码将起作用

仅仅因为URL以".pdf"结尾并不意味着它真的是一个pdf.对于您的示例,正​​确的链接是 - http://download834.mediafire.com/dsq8ih5dubng/raju14e8aq6azbo/Getting+Started+with+MediaFire.pdf,如果您使用ctrl + s或wget或curl,它实际上会下载文件.