您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么用Scrapy+Gerapy部署網絡爬蟲”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用Scrapy+Gerapy部署網絡爬蟲”吧!
爬蟲管理效果圖
依賴包
文件:requirements.txt
文件的內容這里直接貼出來了:
appdirs==1.4.4 APScheduler==3.5.1 attrs==20.1.0 Automat==20.2.0 beautifulsoup4==4.9.1 certifi==2020.6.20 cffi==1.14.2 chardet==3.0.4 constantly==15.1.0 cryptography==3.0 cssselect==1.1.0 Django==1.11.29 django-apscheduler==0.3.0 django-cors-headers==3.2.0 djangorestframework==3.9.2 furl==2.1.0 gerapy==0.9.5 gevent==20.6.2 greenlet==0.4.16 hyperlink==20.0.1 idna==2.10 incremental==17.5.0 itemadapter==0.1.0 itemloaders==1.0.2 Jinja2==2.10.1 jmespath==0.10.0 lxml==4.5.2 MarkupSafe==1.1.1 orderedmultidict==1.0.1 parsel==1.6.0 Protego==0.1.16 pyasn1==0.4.8 pyasn1-modules==0.2.8 pycparser==2.20 PyDispatcher==2.0.5 pyee==7.0.2 PyHamcrest==2.0.2 pymongo==3.11.0 PyMySQL==0.10.0 pyOpenSSL==19.1.0 pyppeteer==0.2.2 pyquery==1.4.1 python-scrapyd-api==2.1.2 pytz==2020.1 pywin32==228 queuelib==1.5.0 redis==3.5.3 requests==2.24.0 Scrapy==1.8.0 scrapy-redis==0.6.8 scrapy-splash==0.7.2 scrapyd==1.2.1 scrapyd-client==1.1.0 service-identity==18.1.0 six==1.15.0 soupsieve==2.0.1 tqdm==4.48.2 Twisted==20.3.0 tzlocal==2.1 urllib3==1.25.10 w3lib==1.22.0 websocket==0.2.1 websockets==8.1 wincertstore==0.2 zope.event==4.4 zope.interface==5.1.0
項目文件
項目文件:qiushi.zip
實現功能:糗事百科段子爬蟲,
這是Scrapy項目,依賴包如上
運行項目步驟
在安裝好依賴包并且解壓項目文件,pip install -r requirements.txt
執行命令scrapy crawl duanzi --nolog
配置Scrapyd
可以理解Scrapyd是一個管理我們寫的Scrapy項目的,配置好這個之后,可以通過命令運行,暫停等操作控制爬蟲
其他的就不說了,這個用的也不多,我們需要做的就是將它啟動就可以了
啟動Scrapyd服務
1.切換到qiushi爬蟲項目目錄下,Scrapy爬蟲項目需要進入爬蟲目錄,才能執行命令
2.執行命令scrapyd
3.游覽器輸入http://127.0.0.1:6800/,出現以下圖片代表正確
打包Scrapy上傳到Scrapyd
上述只是啟動了Scrapyd,但是并沒有將Scrapy項目部署到Scrapy上,需要配置以下Scrapy的scrapy.cfg文件
配置如下
打包命令
scrapyd-deploy <部署名> -p <項目名>
本次示例命令
scrapyd-deploy qb -p qiushi
如圖所示,出現以下圖片表示成功
注:過程可能會有問題,解決辦法我放在后面了!!!
再次回到游覽器,會多了一個項目qiushi,到此為止,Scrapyd已經配置完畢
配置Gerapy
上述都配置完畢之后,就可以進行Gerapy配置了,其實Scrapyd的功能遠不止上述那么少,但是是命令操作的,所以不友好,
Gerapy可視化的爬蟲管理框架,使用時需要將Scrapyd啟動,掛在后臺,其實本質還是向Scrapyd服務發請求,只不過是可視化操作而已
基于 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 開發
配置步驟
Gerapy和Scrapy是沒有關系的,所以可以隨便選一個文件夾,這里我創建了一個gerapyDemo文件夾
執行命令初始化gerpay
gerapy init
1.會生成一個gerapy文件夾
2.進入生成的gerapy文件夾中
3.執行命令,會生成一表
gerapy migrate
4.啟動gerapy服務,默認是8000端口,可以指定端口啟動
gerapy runserver gerapy runserver 127.0.0.1:9000 本機 9000端口啟動
4.打開游覽器,輸入http://127.0.0.1:8000/,出現以下界面表示成功
當然,一般情況下,大概是這樣的界面,我們需要生成賬號密碼
停止服務,輸入命令gerapy creatsuperuser,根據提示創建賬號密碼就使用賬號登錄了
在Gerapy添加爬蟲項目
上述都配置之后,我們就可以配置爬蟲項目了,通過點點點的方式,就可以運行爬蟲了
點擊 主機管理-->創建,ip是Scrapyd服務的主機,端口是Scrapyd的端口,默認6800,填寫后點擊創建
然后在主機列表,調度中,就可以運行爬蟲了
運行爬蟲
獲取結果,結果已經寫入本地
打包爬蟲上傳
上述過程,我們只是能玩爬蟲了,但是并不徹底,按照道理來說,我們還差一個打包過程,只有打包爬蟲了,才算是真正的結合在一起了
步驟
1.首先需要將爬蟲項目拷貝到gerapy下面的projects文件夾下
2.刷新頁面,點擊項目管理,可以看到可配置和打包都是x號狀態
3.點擊部署,寫好描述,點擊打包
4.再次回到主界面,可以發現打包已經是正確的了
至此,基本整個流程結束。
解決scrapyd-deploy不是內部外部命令
通常情況下,在執行scrapyd-deploy時,會提示scrapyd-deploy不是內部或外部命令,嗯...這個是正常操作
解決步驟
1.找到Python解釋器下面的Scripts,新建scrapy.bat和scrapyd-deploy.bat兩個文件
修改這兩個文件,內容如下
scrapy.bat
@echo off D:\programFiles\miniconda3\envs\hy_spider\python D:\programFiles\miniconda3\envs\hy_spider\Scripts\scrapy %*
scrapyd-deploy.bat
@echo off D:\programFiles\miniconda3\envs\hy_spider\python D:\programFiles\miniconda3\envs\hy_spider\Scripts\scrapyd-deploy %*
注:紅色方框表示是解釋器的位置,上述內容是一行的,我粘貼過來怎么調都是兩行...,一一對應好就好了。
Gerapy使用流程總結
1.gerapy init 初始化,會在文件夾下創建一個gerapy文件夾 2.cd gerapy 3.gerapy migrate 4.gerapy runserver 默認是127.0.0.1:8000 5.gerapy createsuperuser 創建賬號密碼,默認情況下都是沒有的 6.游覽器輸入127.0.0.1:8000 登錄賬號密碼,進入主頁 7.各種操作,比如添加主機,打包項目,定時任務等
到此,相信大家對“怎么用Scrapy+Gerapy部署網絡爬蟲”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。