九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
我整來了幾臺服務器,就是為了給你演示一下分布式爬蟲的整個過程

一般情況下

scrapy是這樣的




可以看到


1、調度器 Scheduler  會調度 Requests 隊列中的請求

2、然后將每個請求交給下載器 Downloader 下載

3、這時候就會得到相應的 item 數據交給 item Pipeline 處理



如果我們希望有多個爬蟲
來爬取一個網站的數據


那么我們的請求隊列就要共享
而不能說都是 Request 隊列
要不然爬到的數據就都亂套了






所以
我們需要一個共享的隊列


就比如說
你希望一塊蛋糕能被快速吃掉


你叫來了小明
可是小明只有一張嘴啊


于是你又叫來了他的 py 們
小紅和小紫






但是你總不能說
給他們每人各一塊蛋糕吧


你是希望一塊蛋糕被快速吃掉
你要他們 3 張嘴一起吃掉 同一塊蛋糕


你把他們的嘴比作爬蟲
把蛋糕比作要爬取的網站


是不是就比較容易理解了






那么
多個爬蟲如何共享一個請求隊列
以及如何搭建分布式部署爬蟲呢


接下來就是
學習 Python 的正確姿勢



我們需要用到 redis 隊列來共享


巧的是
scrapy-redis這個庫就
可以使用 redis 隊列





在此之前我們先搞幾臺服務器


一臺用來搭建 redis
一臺用來搭建數據庫
再搞三臺來運行爬蟲



服務器買起







別問我哪來這么多服務器
有錢任性(良心帥b喊起來)





服務器有了
搭建起來唄


先把 redis 裝上


連接到 redis 服務器






下載 redis





解壓到 /usr/local 下






解壓完之后
進入






安裝一波






安裝完之后可以順便
復制一下 redis 所需的配置文件



接著進入 bin 目錄

啟動 redis

沒毛病

使用本地連接一下

恩~連上了

redis 搭建完

接著我們來搭建數據庫的服務器

把 MongoDB 給裝上

先連接到數據庫的服務器上




下載 mongoDB



解壓一波



把解壓下來的文件夾

輕輕的移動一下位置

創(chuàng)建個 db 文件夾

開啟 mongodb

這里順便把 bind_ip 設置一下

這樣才能被遠程訪問

 往下拉可以看到

mongoDB 監(jiān)聽的是 27017 端口

說明安裝和啟動成功

使用本地連接試試

可以可以

接著我們需要在

爬蟲服務器安裝 Python3 環(huán)境

slave-02 和 slave-03 服務器

同上安裝 python3

ok

環(huán)境搭起來了

回到我們之前寫的代碼

使用 scrapy 爬取 stackoverflow 上的所有 Python 問答

我們把它改成適用分布式的

將 Pipeline 中的數據庫地址配置成

我們創(chuàng)建的 mongodb 數據庫地址

接著在 setting 中配置

redis 調度和去重

再設置一下延遲訪問

搞完了之后

將虛擬環(huán)境中的庫打包一下

接著把項目

都扔到爬蟲服務器上去

連接到爬蟲服務器

可以看到剛剛傳來的文件

把剛剛在虛擬環(huán)境中

生成的第三方庫列表

在服務器上一頓安裝

其它兩臺爬蟲服務器

和上面一樣安裝所需要的庫

都安裝完之后

就終于可以都 TM 跑起來了

所有的爬蟲

都特么給我跑起來

哈哈哈哈哈

4臺機器開始一頓爬取

可以看到 mongodb 都監(jiān)聽到了

這幾臺服務器的連接了

我們連到 redis 看看

可以看到

redis 在調度著請求的消息隊列

以及過濾重復的請求

再連接到 mongodb 看看

小帥b每隔一小會就查詢一下

爬取下來的數量

可以看到

速度還是可以的

ok

以上就是分布式爬蟲的

搭建及部署的過程了

當然了

數據庫還可以搭建一下集群

數據庫之間的連接最好設置賬戶

進行安全訪問等

主要還是讓你了解這個過程中

分布式爬蟲的搭建和使用

以及體會它的可擴展性和高效性

那么咱們就到這里了

我們下回見,peace

掃一掃

學習 Python 沒煩惱

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
java前后端開發(fā)需掌握的框架及技術
Python爬蟲,學習路徑拆解及資源推薦
Python爬蟲常見面試題!
Python爬蟲從入門到放棄(二十)之 Scrapy分布式原理
使用scrapy,redis,mongodb實現的一個分布式網絡爬蟲
技術分享:漏洞組合拳——攻擊分布式節(jié)點
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服