最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

scrapy爬蟲部署服務(wù)器的方法步驟

 更新時(shí)間:2022年06月12日 10:52:46   作者:卑微小鐘  
本文主要介紹了scrapy爬蟲部署服務(wù)器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、scrapy爬蟲部署服務(wù)器

scrapy通過命令行運(yùn)行一般只用于測試環(huán)境,而用于運(yùn)用在生產(chǎn)環(huán)境則一般都部署在服務(wù)器中進(jìn)行遠(yuǎn)程操作。

scrapy部署服務(wù)器有一套完整的開源項(xiàng)目:scrapy+scrapyd(服務(wù)端)+scrapy-client(客戶端)+scrapydweb

1、scrapyd

1.介紹

Scrapyd是用于部署和運(yùn)行Scrapy爬蟲的應(yīng)用程序。它使您可以使用JSON API部署(上傳)項(xiàng)目并控制其爬蟲。

是目前分布式爬蟲的最好解決方法之一

官方文檔 https://scrapyd.readthedocs.io/

2.安裝

pip install scrapyd

安裝過程中可能會(huì)遇到大量的錯(cuò)誤,大部分都是所依賴的包沒有安裝,安裝過程中要確保scrapy已經(jīng)安裝成功,只要耐心的將所有缺少的依賴包安裝上就可以了

打開命令行,輸入scrapyd,如下圖:

瀏覽器訪問:http://127.0.0.1:6800/

2、scrapy-client

1.介紹:

scrapy-client它允許我們將本地的scrapy項(xiàng)目打包發(fā)送到scrapyd 這個(gè)服務(wù)端(前提是服務(wù)器scrapyd正常運(yùn)行

官方文檔https://pypi.org/project/scrapyd-client/

2.安裝

pip install scrapy-client

和上面的scrapyd一樣,可能會(huì)遇到各種錯(cuò)誤,耐心一點(diǎn),大部分都是安裝依賴

3、scrapydweb(可選)

1.介紹

ScrapydWeb:用于Scrapyd集群管理的Web應(yīng)用程序,支持Scrapy日志分析和可視化。

官方文檔:https://pypi.org/project/scrapydweb/

2.安裝

pip install scrapyd

在保持scrapyd掛起的情況下運(yùn)行命令scrapydweb,也就是需要打開兩個(gè)doc窗口

運(yùn)行命令scrapydweb,首次啟動(dòng)將會(huì)在當(dāng)前目錄下生成配置文件“scrapydweb_settings_v*.py”

更改配置文件
編輯配置文件,將ENABLE_LOGPARSER更改為False

添加訪問權(quán)限

SCRAPYD_SERVERS = [
    '127.0.0.1:6800',
    # 'username:password@localhost:6801#group',
    ('username', 'password', 'localhost', '6801', 'group'),
]

HTTP基本認(rèn)證

ENABLE_AUTH = True
USERNAME = 'username'
PASSWORD = 'password' 

瀏覽器訪問:http://127.0.0.1:5000/1/servers/

二、實(shí)際操作(一切的操作都在scrapyd啟動(dòng)的情況下)

1.上傳爬蟲

編輯scrapy.cfg,url是scrapyd服務(wù)器的位置,由于scrapyd在本地,所以是localhost。

注意:我們要切換到和scrapy.cfg同級(jí)目錄下,繼續(xù)以下操作

scrapyd-deploy

上圖表示運(yùn)行成功!

以上的文件夾是成功后自動(dòng)創(chuàng)建的(為什么之前的截圖有,我之前已經(jīng)測試過)

然后輸入以下命令上傳服務(wù)器

scrapyd-deploy demo -p qcjob

結(jié)構(gòu):scrapyd-deploy -p (scrapyd-deploy <目標(biāo)> -p <項(xiàng)目>)

運(yùn)行成功的圖片

2.啟動(dòng)爬蟲

cmd輸入(爬取一天內(nèi)關(guān)于java的職業(yè)需求

curl http://localhost:6800/schedule.json -d project=qcjob -d spider=job -d key = java time=0

我編寫的爬蟲可以根據(jù)用戶輸入的參數(shù)來爬取數(shù)據(jù)

key=表示關(guān)鍵字(默認(rèn)是全部)

time=表示時(shí)間(0=24小時(shí),1=3天內(nèi),2=一周內(nèi),3=一個(gè)月內(nèi),默認(rèn)為0)

當(dāng)然scrapyd強(qiáng)大之處在于可以用http方式控制爬蟲

http://localhost:6800/schedule.json?project=qcjob&spider=job&key=java&time=0 #POST

以下是用postmain進(jìn)行模擬post請(qǐng)求。

然后進(jìn)入http://127.0.0.1:6800/

點(diǎn)擊job,就可以查看爬蟲是否運(yùn)行,和運(yùn)行時(shí)間

從圖可以看出,這個(gè)爬蟲運(yùn)行了9分31秒。

當(dāng)然我們也可以從scrapydweb中查看和管理爬蟲瀏覽器訪問:http://127.0.0.1:5000/1/servers/

我們可以通過可視化界面來控制爬蟲運(yùn)行,scrapyd可以啟動(dòng)多個(gè)不同的爬蟲,一個(gè)爬蟲的多個(gè)版本啟動(dòng)。是目前分布式爬蟲的最好解決方法?。?!

三、數(shù)據(jù)展示

本次爬取花費(fèi)9分31秒,共爬去25,000余條數(shù)據(jù),爬蟲速度開至每秒8次訪問,以他該服務(wù)器的最大訪問量

其中部分?jǐn)?shù)據(jù)存在有誤,為了保證速度,沒有進(jìn)行過多的篩取和排查,錯(cuò)誤率保持較低水平

四、問題與思考

  • 通過爬去可以看得出,如果采用單一的爬蟲的話,爬取速度還是比較慢的,如果采用多個(gè)爬蟲,分布式爬取的話,就存在數(shù)據(jù)是否重復(fù)以及數(shù)據(jù)的共用問題。
  • 如果采用分布式爬蟲的話,就涉及到ip代理,因?yàn)橐慌_(tái)機(jī)器如果大量訪問的話經(jīng)過測試會(huì)導(dǎo)致瀏覽器訪問,該網(wǎng)頁都無法打開,如果設(shè)置IP代理,就需要大量的代理IP
  • 雖然爬蟲已經(jīng)部署在服務(wù)器上,但是還是無法做到,通過用戶輸入關(guān)鍵字時(shí)間等地址等多個(gè)參數(shù)進(jìn)行爬取數(shù)據(jù),無法做到實(shí)時(shí)展示,只能先運(yùn)行爬蟲,爬取大量數(shù)據(jù)儲(chǔ)存與數(shù)據(jù)庫,然后才能進(jìn)行分析,做出圖表。
  • 關(guān)于數(shù)據(jù)的統(tǒng)計(jì)與展示,單一的sql語句,很難滿足其對(duì)大量數(shù)據(jù)的分析,可能需要用Python的數(shù)據(jù)分析庫,對(duì)數(shù)據(jù)進(jìn)行處理,然后才能展示。

五、收獲

已經(jīng)可以通過http請(qǐng)求的方式來控制爬蟲的啟動(dòng)停止,以及傳遞參數(shù),就等于scrapy爬蟲是可以集成于web應(yīng)用里面的。

到此這篇關(guān)于scrapy爬蟲部署服務(wù)器的方法步驟的文章就介紹到這了,更多相關(guān)scrapy爬蟲部署服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

墨脱县| 高要市| 昆明市| 井研县| 布尔津县| 溆浦县| 郁南县| 南木林县| 方山县| 马尔康县| 尚志市| 沿河| 井研县| 会宁县| 岳阳市| 石家庄市| 宣威市| 达日县| 五大连池市| 武定县| 衢州市| 枣阳市| 腾冲县| 延边| 和龙市| 星子县| 内乡县| 绥阳县| 兴文县| 当雄县| 依兰县| 新竹市| 昔阳县| 中阳县| 宜都市| 临邑县| 武夷山市| 铁岭县| 花莲县| 北辰区| 牡丹江市|