繁体   English   中英

urllib.request for python 3.3无法下载文件

[英]urllib.request for python 3.3 not working to download file

我想用python下载一个大的存档文件并保存它,但urllib对我不起作用。 这是我的代码:

    import urllib
    urllib.request("http://www.petercollingridge.co.uk/sites/files/peter/particle_tutorial_7.txt")

请注意,我在此示例中使用的链接不是大型存档。 我只是以它为例。 它直接链接到.txt文件,因此它应该工作。 我收到此错误:

    Traceback (most recent call last):
    File "<pyshell#11>", line 1, in <module>
    urllib.request("http://www.petercollingridge.co.uk/sites/files/peter/particle_tutorial_7.txt")
    AttributeError: 'module' object has no attribute 'request'

在我看来,urllib在某种程度上被打破并缺少“请求”方法。 我使用的是Python 3.3。 我应该使用其他模块还是实际上是Python问题?

不,它没有被打破。 urllib.request文档很清楚它是如何工作的:

import urllib.request
req = urllib.request.urlopen('http://www.google.com')
data = req.read()

编辑:如果您需要将文件直接写入磁盘而不是处理数据,请使用urlretrieve

urllib.request.urlretrieve('http://example.com/big.zip', 'file/on/disk.zip')

要将url下载到文件中,可以使用urlretrieve()函数

from urllib.request import urlretrieve
url = "http://www.petercollingridge.co.uk/sites/files/peter/particle_tutorial_7.txt"
urlretrieve(url, "result.txt")

urllib2模块已经拆分为Python 3.0中名为urllib.request和urllib.error的几个模块。 将源转换为3时,2to3工具将自动调整导入

from urllib.request import urlopen

data = urlopen(r"http://www.petercollingridge.co.uk/sites/files/peter/particle_tutorial_7.txt")

print(data)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM