怎麼樣才能爬得更快一點呢?
在 上一篇文章我們已經學會基本用法了。最近我又學到一新技能,讓它爬的更快一些。
準備階段
python3 、 正則表達式庫 re 、多線程庫 multiprocessing 、和第三方庫 requests 。 安裝這裡就不再敘述啦。
引入庫。
多線程
什麼是多線程?先從單線程說起。比如,我在寫這篇文章,寫完後我去聽歌,對於寫文章和聽歌來說,是單線程,是一個接著一個。我也可以一邊寫文章一邊聽歌,這就成了多線程,是同時進行的。
上一篇文章中,我們是一頁一頁的爬。現在我們把他改成三頁三頁的爬。
一起看看python是如何使用多線程的。
pool.map 是使用了映射,把 orign_num 裡的每一個數值傳給 scrapy ,並返回到對應的結果裡。
再一起看看,爬取一頁的代碼。看不懂的話,一定要回到 的分析哦。
最後把結果存起來。
小結
我們這次多線程用到的是 multiprocessing.dummy 裡的 Pool 。利用map 映射出每一頁的爬蟲結果。
以上就是我最新學到的東西。如有錯誤,歡迎斧正!後續有更好的內容一定會第一時間分享給大家,點個關注不迷路。
我是白玉無冰,遊戲開發小赤佬,也玩python和shell。
閱讀更多 白玉無冰 的文章