我正在学习从网址抓取图片并找到问答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
,但它也没有用。
有人能告诉我如何做到对吗?谢谢!
如果网址包含多张图片,该怎么办?
答案 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)
并不显而易见。
当您输入import <module>
时,您可以使用<module>.method(args)
调用其方法(如上面的代码所示)。
或者,您可以使用from <module> import *
导入模块,然后使用method(args)
调用其方法。例如 -
from urllib.request import *
urlretrieve(args)
。
另一种方法是仅导入您需要在程序中使用的方法
from <module> import method
然后使用method(args)
调用该方法。例如 -
from urllib.request import urlretrieve
然后使用
urlretrieve(args)
。
Python 3的urllib.request
模块已有详细记录here。