久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

說說分布式爬蟲

 小帥b 2021-10-12

我們大多時候玩的爬蟲

都是運行在自己的機子

之前

我們?yōu)榱颂岣吲老x的效率

說過多進程相關(guān)的

今天

小帥b想跟你聊聊

分布式爬蟲





那么接下來就是
學(xué)習(xí) Python 的正確姿勢

在此之前
我們先來了解一下


什么是分布式?


你開發(fā)一個網(wǎng)站
想要給別人訪問
就需要把網(wǎng)站部署到服務(wù)器






當(dāng)網(wǎng)站用戶增多的時候
一個服務(wù)器就不滿足需求了
于是就會把網(wǎng)站部署到多個服務(wù)器上





這種情況通常叫集群
就是把整個網(wǎng)站的所有功能
都同時部署到不同的服務(wù)器上
一般會使用 ngnix 作負載均衡


不過
有些功能并發(fā)量并不是很高
比如一些后臺的管理


所以就有人想
要不然把這個網(wǎng)站的
功能都拆分出來


讓每一個模塊只負責(zé)具體的功能
比如登錄模塊,,內(nèi)容管理模塊等






然后在部署的時候
把一些并發(fā)量大的模塊
部署到多個服務(wù)器就行了
耦合度大大的降低了


并發(fā)量小的模塊
也不會浪費那么多資源了


當(dāng)然
這時需要讓模塊與模塊之間產(chǎn)生聯(lián)系


也就是調(diào)度好它們
一般會用到消息隊列






這就是所謂的
分布式






對于一些數(shù)據(jù)不大的數(shù)據(jù)
我們的爬蟲一般是直接在電腦運行了


也就是所謂的
單機爬蟲


而分布式爬蟲
說白了
就是把爬蟲的關(guān)鍵功能
以我們剛說的分布式形式
部署到多臺機器上
然后一起盤(爬)它








那么如何將爬蟲之間聯(lián)系起來呢
我們可以使用 Redis 的消息隊列
進行調(diào)度(schedule)


之前我們也有說過 redis
它是一個讀寫速度快的
緩存數(shù)據(jù)庫


還提供了類似 Python 的
list、set 等數(shù)據(jù)結(jié)構(gòu)


而且它還可以將內(nèi)存的數(shù)據(jù)寫到磁盤
性能杠杠的






在 scrapy 框架里面
就有一個 scrapy-redis
專門用它來調(diào)度爬蟲的


它可以將請求的 url 放到
redis 的消息隊列里面


然后用 spider 模塊
將數(shù)據(jù)給結(jié)構(gòu)化抽出來
放到 redis 數(shù)據(jù)庫里面去


當(dāng)然,分布式爬蟲
有時候還會結(jié)合數(shù)據(jù)庫集群爬取數(shù)據(jù)


ok,,以上
主要讓你了解一下分布式
下次有時間小帥b考慮
弄個小例子來體現(xiàn)一下


那么我們下回見
peace


掃一掃

學(xué)習(xí) Python 沒煩惱





























什么?
分布式?
先看看你家的網(wǎng)站有沒 10 個并發(fā)再說吧...

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多