gerapy框架的安裝使用

一,gerapy框架

Gerapy 是一款分布式爬蟲管理框架,支持 Python 3,基于 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 開發(fā),Gerapy 可以幫助我們:

  • 更方便地控制爬蟲運行
  • 更直觀地查看爬蟲狀態(tài)
  • 更實時地查看爬取結果
  • 更簡單地實現(xiàn)項目部署
  • 更統(tǒng)一地實現(xiàn)主機管理
  • 更輕松地編寫爬蟲代碼(幾乎沒用,感覺比較雞肋)

各個框架的作用:

  1. Scrapy:是一個基于Twisted的異步IO框架,有了這個框架,我們就不需要等待當前URL抓取完畢之后在進行下一個URL的抓取,抓取效率可以提高很多。

  2. Scrapy-redis:雖然Scrapy框架是異步加多線程的,但是我們只能在一臺主機上運行,爬取效率還是有限的,Scrapy-redis庫為我們提供了Scrapy分布式的隊列,調度器,去重等等功能,有了它,我們就可以將多臺主機組合起來,共同完成一個爬取任務,抓取的效率又提高了。

  3. Scrapyd:分布式爬蟲完成之后,接下來就是代碼部署,如果我們有很多主機,那就要逐個登錄服務器進行部署,萬一代碼有所改動..........可以想象,這個過程是多么繁瑣。Scrapyd是專門用來進行分布式部署的工具,它提供HTTP接口來幫助我們部署,啟動,停止,刪除爬蟲程序,利用它我們可以很方便的完成Scrapy爬蟲項目的部署。

  4. Gerapy:是一個基于Scrapyd,Scrapyd API,Django,Vue.js搭建的分布式爬蟲管理框架。簡單點說,就是用上述的Scrapyd工具是在命令行進行操作,而Gerapy將命令行和圖形界面進行了對接,我們只需要點擊按鈕就可完成部署,啟動,停止,刪除的操作。

二,gerapy的安裝

1.gerapy下載

pip install gerapy
gerapy 查看是否安裝成功

成功信息:

    Usage:
      gerapy init [--folder=<folder>]
      gerapy migrate
      gerapy createsuperuser
      gerapy runserver [<host:port>]

2.初始化gerapy

gerapy init

會在當前目錄下生成一個名字為 gerapy 的文件夾,接著進入該文件夾,可以看到有一個 projects 文件夾
3.初始化數(shù)據(jù)庫
要cd 到gerapy目錄

cd gerapy
gerapy migrate

會在gerapy目錄下生產(chǎn)一個sqlite數(shù)據(jù)庫,同時創(chuàng)建數(shù)據(jù)表


1.png

-----------------------整體流程------------------------


4.png

4.運行gerapy服務

gerapy runserver

gerapy runserver 0.0.0.0:8000 【如果你是在本地,執(zhí)行 gerapy runserver即可,如果你是在遠程上,你就要改成前面這樣來執(zhí)行】
5.訪問gerapy管理界面
瀏覽器輸入

http://127.0.0.1:8000
image

三,gerapy使用

1.配置主機
就是配置我們scrapyd 遠程服務.

image

需要添加 IP、端口,以及名稱,點擊創(chuàng)建即可完成添加,點擊返回即可看到當前添加的 Scrapyd 服務列表
2.啟動scrapyd服務
需要在gerapy目錄下啟動

scrapyd
2.png

3.把項目文件放到projects下

image.png

4.項目管理
image.png

可以點擊上圖中的編輯,在線編輯項目,如果項目沒有問題,可以點擊部署進行打包和部署,在部署之前要打包項目(打包成一個egg文件),可以部署到多臺主機。


image.png

部署完畢后,可以回到主機管理頁面進行任務調度。點擊調度即可進入任務管理頁面,可以查看當前主機所有任務的運行狀態(tài):


image.png

通過點擊運行,停止按鈕來實現(xiàn)任務的啟動和停止,同時可以展開任務條目查看日志詳情。

下面是抓取的數(shù)據(jù)存入MongoDB數(shù)據(jù)庫:


image.png

四,遇見的錯誤

scrapy1.6 對應twisted 18.9.0,否則會報錯,這個是我使用的版本,可下載
twisted18.9.0版本py3.6

最新的twisted下載
python非官方擴展模塊

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容