scrapy爬虫项目的部署以及可视化管理

一、介绍

在这里使用的是scrapyd部署,scrapyd-deploy进行打包,spiderkeeper进行项目可视化管理。spiderkeeper是开源的spider可视化管理工具,它可以很方便的实现爬虫的启动,暂停,定时等,同时还具有可以查看分布式下所有爬虫的日志、爬虫执行情况等功能。

二、使用

安装相关环境

python3.7.3
pip install scrapy
pip install scrapyd
pip install scrapyd-client
pip install scrapy-redis
pip install SpiderKeeper

启动scrapyd

终端输入:scrapyd

浏览器输入:localhost:6800

部署到本地的scrapyd上
使用scrapy-deploy将项目部署到你本地的服务器上面,你本地的scrapyd获得相应的 .egg文件.

scrapyd-deploy 部署名 -p 项目名称

启动spiderkeeper

通过连接多台scrapyd服务器进行启动.,启动一个spiderkeeper能够进行部署多台服务器的spider文件

sudo spiderkeeper --server=http://localhost:6800 --server=http://123.124.125.126:6800 

终端输入:SpiderKeeper

浏览器输入:localhost:5000

注意:在windows平台下需要输入用户名和密码,用户名和密码默认都是admin。

打包以及部署

测试scrapyd-deploy可用:

scrapyd-deploy -h

使用scrapyd打包项目生成.egg文件,以便后面传到spiderkeeper上面

scrapyd-deploy --build-egg output.egg

部署到spiderkeeper上

输入:localhost:5000显示的页面上点击左侧栏中Deploy按钮进行创建项目

选择新生成的.egg文件即可完成。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了实现这个目标,我们可以使用Scrapy的内置功能和第三方库来创建一个可视化爬虫。 首先,我们需要安装一些必要的库: ``` pip install scrapy scrapy-splash scrapyrt scrapyrt[dashboard] scrapyd-client ``` 然后,我们需要创建一个Scrapy项目并生成一些爬虫代码: ``` scrapy startproject myproject cd myproject scrapy genspider myspider myspider.com ``` 接下来,我们需要在middlewares中添加SplashMiddleware,以便使用Splash渲染JavaScript动态页面: ``` # settings.py DOWNLOADER_MIDDLEWARES = { 'scrapy_splash.SplashCookiesMiddleware': 723, 'scrapy_splash.SplashMiddleware': 725, 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810, } SPLASH_URL = 'http://localhost:8050/' ``` 然后,我们需要在spider中添加SplashRequest来获取渲染后的页面: ``` # myspider.py from scrapy_splash import SplashRequest class MySpider(scrapy.Spider): name = "myspider" def start_requests(self): yield SplashRequest( url="http://example.com", callback=self.parse, endpoint="render.html", args={"wait": 0.5}, ) def parse(self, response): # Parse the response here ``` 最后,我们可以使用Scrapyrt和scrapyd-client来创建一个可视化爬虫,让用户可以通过Web界面来控制和监视爬虫运行。 具体步骤如下: 1. 在scrapyd中部署我们的项目: ``` scrapyd-deploy myproject ``` 2. 安装Scrapyrt和scrapyd-client: ``` pip install scrapyrt scrapyd-client ``` 3. 启动Scrapyrt服务: ``` scrapyrt -p 9080 ``` 4. 创建一个Flask应用程序,使用scrapyd-client调用Scrapyd API来控制和监视爬虫运行: ``` from flask import Flask, request from scrapyd_api import ScrapydAPI app = Flask(__name__) scrapyd = ScrapydAPI('http://localhost:6800') @app.route('/runspider', methods=['POST']) def runspider(): spider = request.json.get('spider') response = scrapyd.schedule('myproject', 'default', spider) return response if __name__ == '__main__': app.run(port=5000) ``` 5. 创建一个可视化界面,使用户可以通过Web界面来控制和监视爬虫运行。 这个过程可能有点复杂,但是通过Scrapy和相关库的配合,我们可以快速地创建一个可视化爬虫
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值