ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-01-30 13:31:29  阅读:241  来源: 互联网

标签:gerapy 教你用 爬虫 Gerapy Scrapy scrapyd Scrapyd


爬虫管理效果图

图片

依赖包

文件: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/,出现以下图片代表正确

图片


很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:721195303


打包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学习群:721195303,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!

标签:gerapy,教你用,爬虫,Gerapy,Scrapy,scrapyd,Scrapyd
来源: https://blog.csdn.net/aaahtml/article/details/113412643

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有