python爬蟲入門實戰(二)!快!快!快!讓爬蟲贏在起跑線!多線程

怎麼樣才能爬得更快一點呢?

python爬蟲入門實戰(二)!快!快!快!讓爬蟲贏在起跑線!多線程

在 上一篇文章我們已經學會基本用法了。最近我又學到一新技能,讓它爬的更快一些。

準備階段

python3 、 正則表達式庫 re 、多線程庫 multiprocessing 、和第三方庫 requests 。 安裝這裡就不再敘述啦。

引入庫。

多線程

什麼是多線程?先從單線程說起。比如,我在寫這篇文章,寫完後我去聽歌,對於寫文章和聽歌來說,是單線程,是一個接著一個。我也可以一邊寫文章一邊聽歌,這就成了多線程,是同時進行的。

上一篇文章中,我們是一頁一頁的爬。現在我們把他改成三頁三頁的爬。

python爬蟲入門實戰(二)!快!快!快!讓爬蟲贏在起跑線!多線程

一起看看python是如何使用多線程的。

pool.map 是使用了映射,把 orign_num 裡的每一個數值傳給 scrapy ,並返回到對應的結果裡。

python爬蟲入門實戰(二)!快!快!快!讓爬蟲贏在起跑線!多線程

再一起看看,爬取一頁的代碼。看不懂的話,一定要回到 的分析哦。

python爬蟲入門實戰(二)!快!快!快!讓爬蟲贏在起跑線!多線程

最後把結果存起來。

小結

我們這次多線程用到的是 multiprocessing.dummy 裡的 Pool 。利用map 映射出每一頁的爬蟲結果。

以上就是我最新學到的東西。如有錯誤,歡迎斧正!後續有更好的內容一定會第一時間分享給大家,點個關注不迷路。


我是白玉無冰,遊戲開發小赤佬,也玩python和shell。


分享到:


相關文章: