手把手教你用Scrapy+Gerapy部署網(wǎng)絡(luò)爬蟲
前言
Hi,大家好,又見面了,我是Python進(jìn)階者,廢話不多說,直接開始肝吧,奧里給!
爬蟲管理效果圖

依賴包
文件:requirements.txt
文件的內(nèi)容這里直接貼出來了:
appdirs==1.4.4APScheduler==3.5.1attrs==20.1.0Automat==20.2.0beautifulsoup4==4.9.1certifi==2020.6.20cffi==1.14.2chardet==3.0.4constantly==15.1.0cryptography==3.0cssselect==1.1.0Django==1.11.29django-apscheduler==0.3.0django-cors-headers==3.2.0djangorestframework==3.9.2furl==2.1.0gerapy==0.9.5gevent==20.6.2greenlet==0.4.16hyperlink==20.0.1idna==2.10incremental==17.5.0itemadapter==0.1.0itemloaders==1.0.2Jinja2==2.10.1jmespath==0.10.0lxml==4.5.2MarkupSafe==1.1.1orderedmultidict==1.0.1parsel==1.6.0Protego==0.1.16pyasn1==0.4.8pyasn1-modules==0.2.8pycparser==2.20PyDispatcher==2.0.5pyee==7.0.2PyHamcrest==2.0.2pymongo==3.11.0PyMySQL==0.10.0pyOpenSSL==19.1.0pyppeteer==0.2.2pyquery==1.4.1python-scrapyd-api==2.1.2pytz==2020.1pywin32==228queuelib==1.5.0redis==3.5.3requests==2.24.0Scrapy==1.8.0scrapy-redis==0.6.8scrapy-splash==0.7.2scrapyd==1.2.1scrapyd-client==1.1.0service-identity==18.1.0six==1.15.0soupsieve==2.0.1tqdm==4.48.2Twisted==20.3.0tzlocal==2.1urllib3==1.25.10w3lib==1.22.0websocket==0.2.1websockets==8.1wincertstore==0.2zope.event==4.4zope.interface==5.1.0
項(xiàng)目文件
項(xiàng)目文件:qiushi.zip
實(shí)現(xiàn)功能:糗事百科段子爬蟲,
這是Scrapy項(xiàng)目,依賴包如上
運(yùn)行項(xiàng)目步驟
在安裝好依賴包并且解壓項(xiàng)目文件,
pip install -r requirements.txt執(zhí)行命令
scrapy crawl duanzi --nolog
配置Scrapyd
可以理解Scrapyd是一個(gè)管理我們寫的Scrapy項(xiàng)目的,配置好這個(gè)之后,可以通過命令運(yùn)行,暫停等操作控制爬蟲
其他的就不說了,這個(gè)用的也不多,我們需要做的就是將它啟動(dòng)就可以了
啟動(dòng)Scrapyd服務(wù)
切換到
qiushi爬蟲項(xiàng)目目錄下,Scrapy爬蟲項(xiàng)目需要進(jìn)入爬蟲目錄,才能執(zhí)行命令

執(zhí)行命令
scrapyd

游覽器輸入
http://127.0.0.1:6800/,出現(xiàn)以下圖片代表正確

打包Scrapy上傳到Scrapyd
上述只是啟動(dòng)了Scrapyd,但是并沒有將Scrapy項(xiàng)目部署到Scrapy上,需要配置以下Scrapy的scrapy.cfg文件

配置如下

打包命令
scrapyd-deploy <部署名> -p <項(xiàng)目名>本次示例命令
scrapyd-deploy qb -p qiushi如圖所示,出現(xiàn)以下圖片表示成功

注:過程可能會(huì)有問題,解決辦法我放在后面了!!!
再次回到游覽器,會(huì)多了一個(gè)項(xiàng)目qiushi,到此為止,Scrapyd已經(jīng)配置完畢

配置Gerapy
上述都配置完畢之后,就可以進(jìn)行Gerapy配置了,其實(shí)Scrapyd的功能遠(yuǎn)不止上述那么少,但是是命令操作的,所以不友好,
Gerapy可視化的爬蟲管理框架,使用時(shí)需要將Scrapyd啟動(dòng),掛在后臺(tái),其實(shí)本質(zhì)還是向Scrapyd服務(wù)發(fā)請(qǐng)求,只不過是可視化操作而已
基于 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 開發(fā)
配置步驟
Gerapy和Scrapy是沒有關(guān)系的,所以可以隨便選一個(gè)文件夾,這里我創(chuàng)建了一個(gè)gerapyDemo文件夾

執(zhí)行命令初始化gerpay
gerapy init

會(huì)生成一個(gè)gerapy文件夾

進(jìn)入生成的gerapy文件夾中

執(zhí)行命令,會(huì)生成一表
gerapy migrate
啟動(dòng)gerapy服務(wù),默認(rèn)是8000端口,可以指定端口啟動(dòng)
gerapy runserver
gerapy runserver 127.0.0.1:9000 本機(jī) 9000端口啟動(dòng)

打開游覽器,輸入
http://127.0.0.1:8000/,出現(xiàn)以下界面表示成功
當(dāng)然,一般情況下,大概是這樣的界面,我們需要生成賬號(hào)密碼

停止服務(wù),輸入命令gerapy creatsuperuser,根據(jù)提示創(chuàng)建賬號(hào)密碼就使用賬號(hào)登錄了

在Gerapy添加爬蟲項(xiàng)目
上述都配置之后,我們就可以配置爬蟲項(xiàng)目了,通過點(diǎn)點(diǎn)點(diǎn)的方式,就可以運(yùn)行爬蟲了
點(diǎn)擊 主機(jī)管理-->創(chuàng)建,ip是Scrapyd服務(wù)的主機(jī),端口是Scrapyd的端口,默認(rèn)6800,填寫后點(diǎn)擊創(chuàng)建

然后在主機(jī)列表,調(diào)度中,就可以運(yùn)行爬蟲了

運(yùn)行爬蟲

獲取結(jié)果,結(jié)果已經(jīng)寫入本地

打包爬蟲上傳
上述過程,我們只是能玩爬蟲了,但是并不徹底,按照道理來說,我們還差一個(gè)打包過程,只有打包爬蟲了,才算是真正的結(jié)合在一起了
步驟
首先需要將爬蟲項(xiàng)目拷貝到gerapy下面的projects文件夾下

刷新頁面,點(diǎn)擊項(xiàng)目管理,可以看到可配置和打包都是x號(hào)狀態(tài)

點(diǎn)擊部署,寫好描述,點(diǎn)擊打包

再次回到主界面,可以發(fā)現(xiàn)打包已經(jīng)是正確的了

至此,基本整個(gè)流程結(jié)束。
解決scrapyd-deploy不是內(nèi)部外部命令
通常情況下,在執(zhí)行scrapyd-deploy時(shí),會(huì)提示scrapyd-deploy不是內(nèi)部或外部命令,嗯...這個(gè)是正常操作
解決步驟
找到
Python解釋器下面的Scripts,新建scrapy.bat和scrapyd-deploy.bat兩個(gè)文件

修改這兩個(gè)文件,內(nèi)容如下
scrapy.bat
@echo offD:\programFiles\miniconda3\envs\hy_spider\python?D:\programFiles\miniconda3\envs\hy_spider\Scripts\scrapy?%*

scrapyd-deploy.bat
@echo offD:\programFiles\miniconda3\envs\hy_spider\python?D:\programFiles\miniconda3\envs\hy_spider\Scripts\scrapyd-deploy?%*

注:紅色方框表示是解釋器的位置,上述內(nèi)容是一行的,我粘貼過來怎么調(diào)都是兩行...,一一對(duì)應(yīng)好就好了。
Gerapy使用流程總結(jié)
1.gerapy init 初始化,會(huì)在文件夾下創(chuàng)建一個(gè)gerapy文件夾2.cd gerapy3.gerapy migrate4.gerapy runserver 默認(rèn)是127.0.0.1:80005.gerapy createsuperuser 創(chuàng)建賬號(hào)密碼,默認(rèn)情況下都是沒有的6.游覽器輸入127.0.0.1:8000 登錄賬號(hào)密碼,進(jìn)入主頁7.各種操作,比如添加主機(jī),打包項(xiàng)目,定時(shí)任務(wù)等
總結(jié)
上述以入門的方式解決了安排了以下如何通過Gerapy + Scrpyd + Scrapy可視化部署爬蟲。
如果在操作過程中有任務(wù)問題,記得下面留言,我們看到會(huì)第一時(shí)間解決問題。
我是碼農(nóng)星期八,如果覺得還不錯(cuò),記得動(dòng)手點(diǎn)贊一下哈,感謝你的觀看。
如果你覺得文章還可以,記得點(diǎn)贊留言支持我們哈。感謝你的閱讀,有問題請(qǐng)記得在下方留言噢~
想學(xué)習(xí)更多關(guān)于Python的知識(shí),可以參考學(xué)習(xí)網(wǎng)址:http://pdcfighting.com/,點(diǎn)擊閱讀原文,可以直達(dá)噢~
往期推薦
