python3爬蟲中引用Queue的例項講解
阿新 • • 發佈:2020-11-25
我們去一個受歡迎的地方買東西,難免會需要排隊等待。如果有多個視窗的話,就會有不同佇列的產生,當然每個隊伍的人數也會出現參差不齊的現象。我們今天所要說的Queue就可以理解成生活中的排隊現象。那麼結合我們所要用的爬蟲知識,應該怎麼在Queue中應用呢?接下來就開始今天的內容學習:
佇列這種東西大家應該都知道,就是一個先進先出的資料結構,而Python的標準庫中提供了一個執行緒安全的佇列,也就是說該模組是適用於多執行緒程式設計的先進先出(first-in,first-out,FIFO)資料結構,可以用來在生產者消費者執行緒之間安全地傳遞訊息或其他資料。它會為呼叫者處理鎖定,使用多個執行緒可以安全地處理同一個 Queue 例項。Queue 的大小(其中包含的元素個數)可能要受限,以限制記憶體使用或處理。
在Python 3中要引入Queue和Python 2中引入Queue是不同,引入方式如下:
#python 2 import Queue # python 3 from queue import Queue
因為是執行緒安全的,很自然就可以利用Queue來實現一個多執行緒爬蟲咯,而Queue的一些常見操作如下:
# 例項化一個佇列,可以在指定佇列大小 q = Queue.Queue() q_50 = Queue.Queue(50) # 指定一個長度為50的佇列 # 入隊一個數據data q.put(data) # 出隊並賦值給item item = q.get() # 判斷佇列是否為空,是否滿 if q.empty(): print('佇列為空') if q.full(): print('佇列滿')
另外,除了普通佇列,標準庫中還有優先佇列和後進先出佇列這兩個佇列,分別為LifoQueue和PriorityQueue,其引用方式與Queue類似。
到此這篇關於python3爬蟲中引用Queue的例項講解的文章就介紹到這了,更多相關python3爬蟲中如何引用Queue案例內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!