我正在寫一個給定http地址的小程序,它會查找並下載其中的圖像。我現在的情況是這樣的:使用urllib2查找和下載網站的圖像
import urllib2, html
class HTMLNode(object):
def __init__(self,tag,attr,content,closed=True):
self.tag = tag
self.attr = attr
self.content = content
self.closed = closed
def istext(self):
return self.tag == '_text_'
def tostring(self):
if self.istext():
return self.content
ret = '<'+self.tag
for k, v in self.attr.items():
ret += ' '+k+'="'+v+'"'
ret += '>'
if self.closed:
for c in self.content:
ret += c.tostring()
ret += '</'+self.tag+'>'
return ret
def find_by_tag(self,tag):
ret = []
if self.tag == tag: ret += [self]
if not self.istext():
for c in self.content:
ret += c.find_by_tag(tag)
return ret
def imagegrab(url):
req = urllib2.Request(url)
response = urllib2.urlopen(req)
output = open(url, 'wb')
output.write(response.read())
缺少的環節是找到一種方法來使用HTMLNode類的「find_by_tag」功能,使程序將掃描的「」標籤,並從網站上下載的圖片。有人可以幫助我嗎?
你用Python 3標記了這個,但是使用'urllib2'(一個Python 2 stdlib庫)。標記錯誤或者您正在使用'urllib'。 :-) –
我正在使用Python3 _and_ urllib2,我從來沒有遇到任何問題! – test123
來自Python 2 ['urllib2'文檔](http://docs.python.org/2/library/urllib2.html):* urllib2模塊已經在Python 3中的幾個模塊中分割,名爲'urllib。 request'和'urllib.error'。*對不起,不好意思,但* python 3 *中沒有'urllib2'。 –