"""
如何切换深度和广度采集
"""

from queue import Queue, LifoQueue

# queue = Queue()
queue = LifoQueue()
i = 0


def getATag(item):
    return range(10)


def detail(item):
    global i
    i += 1
    print(i, item['deep'])


def deal(item):
    ahrefs = getATag(item)
    for a in ahrefs:
        queue.put({"url": a, "deep": item['deep'] + 1})


if __name__ == '__main__':
    queue.put({"url": "test", "deep": 0})
    while True:
        item = queue.get()
        if item['deep'] >= 4:
            continue
        detail(item)  # 详情
        deal(item)  # 裂变
