while not urls.empty():
    url = urls.get()
try:
    links = BeautifulSoup(urllib.request.urlopen(url)).findAll(Crawler._match_tag)
except urllib.error.HTTPError:
    continue
for link in links:
    for attr in link.attrs:
        if Crawler._match_attr(attr):
            if Crawler._is_category(attr):
                continue
else:
    Crawler._visit(attr[1])
if attr[1] not in _crawled:
    urls.put(attr[1])
Как я могу сделать эту функцию рекурсивного сканирования итеративной?