1. 程式人生 > >Python爬蟲教程:圖蟲網多執行緒爬取

Python爬蟲教程:圖蟲網多執行緒爬取

我們這次也玩點以前沒寫過的,使用python中的queue,也就是佇列

下面是我從別人那順來的一些解釋,基本爬蟲初期也就用到這麼多

Python學習資料或者需要程式碼、視訊加Python學習群:960410445

1. 初始化: classQueue.Queue(maxsize)FIFO先進先出2. 包中的常用方法: - queue.qsize() 返回佇列的大小

    - queue.empty() 如果佇列為空,返回True,反之False

    - queue.full() 如果佇列滿了,返回True,反之False

    - queue.full 與 maxsize 大小對應

    - queue.get([block[, timeout]])獲取佇列,timeout等待時間3. 建立一個“佇列”物件

    import queue    myqueue = queue.Queue(maxsize = 10)4. 將一個值放入佇列中

    myqueue.put(10)5. 將一個值從佇列中取出

    myqueue.get()

開始編碼

首先我們先實現主要方法的框架,我依舊是把一些核心的點,都寫在註釋上面


程式碼執行之後,成功啟動了4個執行緒,然後等待執行緒結束,這個地方注意,你需要把 ThreadCrawl 類補充完整


執行結果

執行緒已經開啟,在run方法中,補充爬取資料的程式碼就好了,這個地方引入一個全域性變數,用來標識爬取狀態

CRAWL_EXIT = False

先在main方法中加入如下程式碼


經過測試,data_queue 裡面有資料啦!!,哈哈,下面在使用相同的操作,去下載圖片就好嘍

完善main方法

還是補充一個 ThreadDown 類,這個類就是用來下載圖片的。


執行之後,等待圖片下載就可以啦~~

關鍵註釋已經新增到程式碼裡面了,收圖吧 (◕ᴗ◕✿),這次程式碼回頭在上傳到github上 因為比較簡單