手把手教你用Scrapy+Gerapy部署网络爬虫

共 3863字,需浏览 8分钟

 ·

2021-02-02 02:20

前言

Hi,大家好,又见面了,我是Python进阶者,废话不多说,直接开始肝吧,奥里给!

爬虫管理效果图

依赖包

文件:requirements.txt

文件的内容这里直接贴出来了:

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

项目文件

项目文件:qiushi.zip

实现功能:糗事百科段子爬虫,

这是Scrapy项目,依赖包如上

运行项目步骤

  • 在安装好依赖包并且解压项目文件,pip install -r requirements.txt

  • 执行命令scrapy crawl duanzi --nolog

配置Scrapyd

可以理解Scrapyd是一个管理我们写的Scrapy项目的,配置好这个之后,可以通过命令运行,暂停等操作控制爬虫

其他的就不说了,这个用的也不多,我们需要做的就是将它启动就可以了

启动Scrapyd服务

  1. 切换到qiushi爬虫项目目录下,Scrapy爬虫项目需要进入爬虫目录,才能执行命令

  1. 执行命令scrapyd

  1. 游览器输入http://127.0.0.1:6800/,出现以下图片代表正确

打包Scrapy上传到Scrapyd

上述只是启动了Scrapyd,但是并没有将Scrapy项目部署到Scrapy上,需要配置以下Scrapyscrapy.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 开发

配置步骤

GerapyScrapy是没有关系的,所以可以随便选一个文件夹,这里我创建了一个gerapyDemo文件夹

  1. 执行命令初始化gerpay

    gerapy init

会生成一个gerapy文件夹

  1. 进入生成的gerapy文件夹中

  1. 执行命令,会生成一表

    gerapy migrate

  2. 启动gerapy服务,默认是8000端口,可以指定端口启动

    gerapy runserver
    gerapy runserver 127.0.0.1:9000 本机 9000端口启动

  1. 打开游览器,输入http://127.0.0.1:8000/,出现以下界面表示成功

当然,一般情况下,大概是这样的界面,我们需要生成账号密码

停止服务,输入命令gerapy creatsuperuser,根据提示创建账号密码就使用账号登录了

在Gerapy添加爬虫项目

上述都配置之后,我们就可以配置爬虫项目了,通过点点点的方式,就可以运行爬虫了

点击 主机管理-->创建,ip是Scrapyd服务的主机,端口是Scrapyd的端口,默认6800,填写后点击创建


然后在主机列表,调度中,就可以运行爬虫了

运行爬虫

获取结果,结果已经写入本地

打包爬虫上传

上述过程,我们只是能玩爬虫了,但是并不彻底,按照道理来说,我们还差一个打包过程,只有打包爬虫了,才算是真正的结合在一起了

步骤

  1. 首先需要将爬虫项目拷贝到gerapy下面的projects文件夹下

  1. 刷新页面,点击项目管理,可以看到可配置和打包都是x号状态

点击部署,写好描述,点击打包

再次回到主界面,可以发现打包已经是正确的了


至此,基本整个流程结束。

解决scrapyd-deploy不是内部外部命令

通常情况下,在执行scrapyd-deploy时,会提示scrapyd-deploy不是内部或外部命令,嗯...这个是正常操作

解决步骤

  1. 找到Python解释器下面的Scripts,新建scrapy.batscrapyd-deploy.bat两个文件

修改这两个文件,内容如下

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 %*

注:红色方框表示是解释器的位置,上述内容是一行的,我粘贴过来怎么调都是两行...,一一对应好就好了。

Gerapy使用流程总结

1.gerapy init 初始化,会在文件夹下创建一个gerapy文件夹2.cd gerapy3.gerapy migrate4.gerapy runserver 默认是127.0.0.1:80005.gerapy createsuperuser 创建账号密码,默认情况下都是没有的6.游览器输入127.0.0.1:8000 登录账号密码,进入主页7.各种操作,比如添加主机,打包项目,定时任务等

总结

上述以入门的方式解决了安排了以下如何通过Gerapy + Scrpyd + Scrapy可视化部署爬虫。

如果在操作过程中有任务问题,记得下面留言,我们看到会第一时间解决问题。

我是码农星期八,如果觉得还不错,记得动手点赞一下哈,感谢你的观看。

如果你觉得文章还可以,记得点赞留言支持我们哈。感谢你的阅读,有问题请记得在下方留言噢~

想学习更多关于Python的知识,可以参考学习网址:http://pdcfighting.com/,点击阅读原文,可以直达噢~

往期推荐


渗透测试员必备!Top 10免费黑客工具

新手上路必学的Python函数基础知识,全在这里了(多段代码举例)

面试稳了!集齐几千名程序员精选的 100 道性能面试题!

这是我见过最有用的Mysql面试题,面试了无数公司总结的(内附答案)

刷完500道高频面试题,我能去面试大厂了吗?(持续更新)

SeleniumWebDriver运行数据库测试?

Selenium Webdriver上传文件,别傻傻的分不清得3种方法


浏览 63
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报