欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

1、scrapyd

1.介紹

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

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

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

2.安裝

pip install scrapyd

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

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

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

2、scrapy-client

1.介紹:

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

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

2.安裝

pip install scrapy-client

和上面的scrapyd一樣,可能會遇到各種錯誤,耐心一點,大部分都是安裝依賴

3、scrapydweb(可選)

1.介紹

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

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

2.安裝

pip install scrapyd

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

運行命令scrapydweb,首次啟動將會在當(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/

二、實際操作(一切的操作都在scrapyd啟動的情況下)

1.上傳爬蟲

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

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

scrapyd-deploy

上圖表示運行成功!

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

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

scrapyd-deploy demo -p qcjob

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

運行成功的圖片

2.啟動爬蟲

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=表示時間(0=24小時,1=3天內(nèi),2=一周內(nèi),3=一個月內(nèi),默認(rèn)為0)

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

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

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

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

點擊job,就可以查看爬蟲是否運行,和運行時間

從圖可以看出,這個爬蟲運行了9分31秒。

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

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

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

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

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

四、問題與思考

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

五、收獲

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

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

相關(guān)文章

  • Python post請求實現(xiàn)代碼實例

    Python post請求實現(xiàn)代碼實例

    這篇文章主要介紹了Python post請求實現(xiàn)代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Python進(jìn)階之尾遞歸的用法實例

    Python進(jìn)階之尾遞歸的用法實例

    本篇文章主要介紹了Python進(jìn)階之尾遞歸的用法實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • Python按照某列內(nèi)容對兩個DataFrame進(jìn)行合并操作方法

    Python按照某列內(nèi)容對兩個DataFrame進(jìn)行合并操作方法

    這篇文章主要給大家介紹了關(guān)于Python按照某列內(nèi)容對兩個DataFrame進(jìn)行合并操作的相關(guān)資料,文中通過代碼示例介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • Python grpc超時機制代碼示例

    Python grpc超時機制代碼示例

    這篇文章主要介紹了Python grpc超時機制代碼示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • python解釋器安裝教程的方法步驟

    python解釋器安裝教程的方法步驟

    這篇文章主要介紹了python解釋器安裝教程的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 解決pycharm 誤刪掉項目文件的處理方法

    解決pycharm 誤刪掉項目文件的處理方法

    今天小編就為大家分享一篇解決pycharm 誤刪掉項目文件的處理方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python實現(xiàn)自動登錄人人網(wǎng)并采集信息的方法

    python實現(xiàn)自動登錄人人網(wǎng)并采集信息的方法

    這篇文章主要介紹了python實現(xiàn)自動登錄人人網(wǎng)并采集信息的方法,涉及Python模擬登陸及正則匹配的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • pyqt彈出新對話框,以及關(guān)閉對話框獲取數(shù)據(jù)的實例

    pyqt彈出新對話框,以及關(guān)閉對話框獲取數(shù)據(jù)的實例

    今天小編就為大家分享一篇pyqt彈出新對話框,以及關(guān)閉對話框獲取數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python?包?requests?實現(xiàn)請求操作

    python?包?requests?實現(xiàn)請求操作

    這篇文章主要介紹了python?包?requests?實現(xiàn)請求操作,文章介紹內(nèi)容包括帶參數(shù)請求、自定義headers,文章內(nèi)容詳細(xì)具有一定的參考價值,需要的小伙伴可以參考一下
    2022-04-04
  • python獲取百度熱榜鏈接的實例方法

    python獲取百度熱榜鏈接的實例方法

    在本篇文章里小編給大家整理了關(guān)于python獲取百度熱榜鏈接的實例方法,需要的朋友們可以學(xué)習(xí)參考下。
    2020-08-08

最新評論