python3爬蟲中引用Queue的實(shí)例講解
我們?nèi)ヒ粋€(gè)受歡迎的地方買東西,難免會需要排隊(duì)等待。如果有多個(gè)窗口的話,就會有不同隊(duì)列的產(chǎn)生,當(dāng)然每個(gè)隊(duì)伍的人數(shù)也會出現(xiàn)參差不齊的現(xiàn)象。我們今天所要說的Queue就可以理解成生活中的排隊(duì)現(xiàn)象。那么結(jié)合我們所要用的爬蟲知識,應(yīng)該怎么在Queue中應(yīng)用呢?接下來就開始今天的內(nèi)容學(xué)習(xí):
隊(duì)列這種東西大家應(yīng)該都知道,就是一個(gè)先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),而Python的標(biāo)準(zhǔn)庫中提供了一個(gè)線程安全的隊(duì)列,也就是說該模塊是適用于多線程編程的先進(jìn)先出(first-in,first-out,F(xiàn)IFO)數(shù)據(jù)結(jié)構(gòu),可以用來在生產(chǎn)者消費(fèi)者線程之間安全地傳遞消息或其他數(shù)據(jù)。它會為調(diào)用者處理鎖定,使用多個(gè)線程可以安全地處理同一個(gè) Queue 實(shí)例。Queue 的大?。ㄆ渲邪脑貍€(gè)數(shù))可能要受限,以限制內(nèi)存使用或處理。
在Python 3中要引入Queue和Python 2中引入Queue是不同,引入方式如下:
#python 2 import Queue # python 3 from queue import Queue
因?yàn)槭蔷€程安全的,很自然就可以利用Queue來實(shí)現(xiàn)一個(gè)多線程爬蟲咯,而Queue的一些常見操作如下:
# 實(shí)例化一個(gè)隊(duì)列,可以在指定隊(duì)列大小 q = Queue.Queue() q_50 = Queue.Queue(50) # 指定一個(gè)長度為50的隊(duì)列 # 入隊(duì)一個(gè)數(shù)據(jù)data q.put(data) # 出隊(duì)并賦值給item item = q.get() # 判斷隊(duì)列是否為空,是否滿 if q.empty(): print('隊(duì)列為空') if q.full(): print('隊(duì)列滿')
另外,除了普通隊(duì)列,標(biāo)準(zhǔn)庫中還有優(yōu)先隊(duì)列和后進(jìn)先出隊(duì)列這兩個(gè)隊(duì)列,分別為LifoQueue和PriorityQueue,其引用方式與Queue類似。
到此這篇關(guān)于python3爬蟲中引用Queue的實(shí)例講解的文章就介紹到這了,更多相關(guān)python3爬蟲中如何引用Queue案例內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python?queue模塊功能大全
- python隊(duì)列queue模塊詳解
- Python Queue模塊詳細(xì)介紹及實(shí)例
- Python Queue模塊詳解
- 關(guān)于Python中幾種隊(duì)列Queue用法區(qū)別
- Python隊(duì)列Queue超詳細(xì)講解
- python中的queue隊(duì)列類型及函數(shù)用法
- python3?queue多線程通信
- python 工具類之Queue組件詳解用法
- Python多線程 Queue 模塊常見用法
- 詳解python數(shù)據(jù)結(jié)構(gòu)之隊(duì)列Queue
- Python queue模塊的用法
相關(guān)文章
python制作websocket服務(wù)器實(shí)例分享
websocket是一個(gè)瀏覽器和服務(wù)器通信的新的協(xié)議,websocket則和一般的socket一樣,使得瀏覽器和服務(wù)器建立了一個(gè)雙工的通道。今天我們就來詳細(xì)探討下使用Python實(shí)現(xiàn)websocket服務(wù)器的具體方法2016-11-11Python3 循環(huán)語句(for、while、break、range等)
這篇文章主要介紹了Python3 循環(huán)語句(for、while、break、range等),大家把下面的文章看完就基本上就可以了解了python的循環(huán)實(shí)現(xiàn)方式了2017-11-11Python實(shí)現(xiàn)查找二叉搜索樹第k大的節(jié)點(diǎn)功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)查找二叉搜索樹第k大的節(jié)點(diǎn)功能,結(jié)合實(shí)例形式分析了Python二叉搜索樹的定義、查找、遍歷等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01python爬蟲MeterSphere平臺執(zhí)行報(bào)告使用進(jìn)階
這篇文章主要為大家介紹了python爬蟲MeterSphere平臺執(zhí)行報(bào)告使用進(jìn)階示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12Python實(shí)現(xiàn)身份證前六位地區(qū)碼對照表文件
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)身份證前六位地區(qū)碼對照表文件,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-12-12