【发布时间】:2015-07-13 12:53:36
【问题描述】:
我正在尝试使用 python 从 Internet 下载文件。 我试过这个代码:
import urllib.requests
URL = 'http://www.mediafire.com/download/raju14e8aq6azbo/Getting+Started+with+MediaFire.pdf'
filename = "file.pdf"
urllib.request.urlretrieve(URL,filename)
和:
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)
(我在What command to use instead of urllib.request.urlretrieve?找到了最后一个代码)
问题是这段代码下载的是一个 html 文档,而不是我需要的名为“MediaFire.pdf 入门”的 .pdf 文件! 我正在寻找一种方法来下载在 html 页面后面提供的文件。
有什么建议吗?
【问题讨论】:
-
this 会有所帮助
-
您的 url 以 .pdf 结尾并且您使用 file.pdf 的文件名有点奇怪
-
请定义损坏!是空的吗?它是否包含其他一些信息?用十六进制或文本编辑器查看内容可能是个好主意,看看里面可能有一个 HTML 错误页面。
-
那是因为文件不是pdf文件。这是一个html文档。您可以使用 chrome/firefox/其他浏览器打开。您需要找到正确的下载链接。尝试在浏览器中使用“另存为” - 如果可行,则 python 代码将起作用
-
我回答 AJK:我尝试了正确的 URL:mediafire.com/download/raju14e8aq6azbo/…,但问题是一样的!