python 3导入urllib.request模块

时间:2014-08-11 18:56:30

标签: python-3.x

我正在学习从网址抓取图片并找到问答here。由于它是Python 3,我将import urllib更改为import urllib.request

urllib.urlretrieve("http://www.digimouth.com/news/media/2011/09/google-logo.jpg", "local-filename.jpg")

urllib.request.urlretrieve("http://www.digimouth.com/news/media/2011/09/google-logo.jpg", "local-filename.jpg")

它不起作用!它说AttributeError: 'module' object has no attribute 'urlretrieve'

然后我将urllib.urlretrieve更改为def request.urlretrieve并获得SyntaxError: invalid syntax

我也试过了def urlretrieve,但它也没有用。

有人能告诉我如何做到对吗?谢谢!

如果网址包含多张图片,该怎么办?

2 个答案:

答案 0 :(得分:3)

您需要使用:

from urllib import request
request.urlretrieve("http://www.digimouth.com/news/media/2011/09/google-logo.jpg", "local-filename.jpg")

您也可以使用:

 import urllib.request
 urllib.request.urlretrieve("http://www.digimouth.com/news/media/2011/09/google-logo.jpg", "local-filename.jpg")

答案 1 :(得分:0)

由于您已导入urllib.request模块,因此您应将其方法urlretrieve(args)称为urllib.request.urlretrieve(args)并不显而易见。

  1. 当您输入import <module>时,您可以使用<module>.method(args)调用其方法(如上面的代码所示)。

  2. 或者,您可以使用from <module> import *导入模块,然后使用method(args)调用其方法。例如 -

    from urllib.request import *

    urlretrieve(args)

  3. 另一种方法是仅导入您需要在程序中使用的方法 from <module> import method然后使用method(args)调用该方法。例如 -

  4. from urllib.request import urlretrieve然后使用

    调用方法

    urlretrieve(args)

    Python 3的urllib.request模块已有详细记录here