文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-12-03 11:52

关注

前言

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

爬虫管理效果图


依赖包

文件:requirements.txt

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

  1. appdirs==1.4.4 
  2. APScheduler==3.5.1 
  3. attrs==20.1.0 
  4. Automat==20.2.0 
  5. beautifulsoup4==4.9.1 
  6. certifi==2020.6.20 
  7. cffi==1.14.2 
  8. chardet==3.0.4 
  9. constantly==15.1.0 
  10. cryptography==3.0 
  11. cssselect==1.1.0 
  12. Django==1.11.29 
  13. django-apscheduler==0.3.0 
  14. django-cors-headers==3.2.0 
  15. djangorestframework==3.9.2 
  16. furl==2.1.0 
  17. gerapy==0.9.5 
  18. gevent==20.6.2 
  19. greenlet==0.4.16 
  20. hyperlink==20.0.1 
  21. idna==2.10 
  22. incremental==17.5.0 
  23. itemadapter==0.1.0 
  24. itemloaders==1.0.2 
  25. Jinja2==2.10.1 
  26. jmespath==0.10.0 
  27. lxml==4.5.2 
  28. MarkupSafe==1.1.1 
  29. orderedmultidict==1.0.1 
  30. parsel==1.6.0 
  31. Protego==0.1.16 
  32. pyasn1==0.4.8 
  33. pyasn1-modules==0.2.8 
  34. pycparser==2.20 
  35. PyDispatcher==2.0.5 
  36. pyee==7.0.2 
  37. PyHamcrest==2.0.2 
  38. pymongo==3.11.0 
  39. PyMySQL==0.10.0 
  40. pyOpenSSL==19.1.0 
  41. pyppeteer==0.2.2 
  42. pyquery==1.4.1 
  43. python-scrapyd-api==2.1.2 
  44. pytz==2020.1 
  45. pywin32==228 
  46. queuelib==1.5.0 
  47. redis==3.5.3 
  48. requests==2.24.0 
  49. Scrapy==1.8.0 
  50. scrapy-redis==0.6.8 
  51. scrapy-splash==0.7.2 
  52. scrapyd==1.2.1 
  53. scrapyd-client==1.1.0 
  54. service-identity==18.1.0 
  55. six==1.15.0 
  56. soupsieve==2.0.1 
  57. tqdm==4.48.2 
  58. Twisted==20.3.0 
  59. tzlocal==2.1 
  60. urllib3==1.25.10 
  61. w3lib==1.22.0 
  62. websocket==0.2.1 
  63. websockets==8.1 
  64. wincertstore==0.2 
  65. zope.event==4.4 
  66. zope.interface==5.1.0 

项目文件

项目文件:qiushi.zip

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

这是Scrapy项目,依赖包如上

运行项目步骤

配置Scrapyd

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

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

启动Scrapyd服务

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


执行命令scrapyd


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


打包Scrapy上传到Scrapyd

上述只是启动了Scrapyd,但是并没有将Scrapy项目部署到Scrapy上,需要配置以下Scrapy的scrapy.cfg文件


配置如下 


打包命令

  1. scrapyd-deploy <部署名> -p <项目名> 

本次示例命令

  1. 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 开发

配置步骤

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

 

执行命令初始化gerpay

  1. gerapy init 

 

会生成一个gerapy文件夹


进入生成的gerapy文件夹中


执行命令,会生成一表

  1. gerapy migrate 

 

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

  1. gerapy runserver 
  2. gerapy runserver 127.0.0.1:9000 本机 9000端口启动 

 

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


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

 

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


在Gerapy添加爬虫项目

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

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


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


运行爬虫


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


打包爬虫上传

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

步骤

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


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


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

 

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

 

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

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

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

解决步骤

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


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

  1. scrapy.bat 

  1. @echo off 
  2. D:\programFiles\miniconda3\envs\hy_spider\python D:\programFiles\miniconda3\envs\hy_spider\Scripts\scrapy %* 

 

  1. scrapyd-deploy.bat 

  1. @echo off 
  2. D:\programFiles\miniconda3\envs\hy_spider\python D:\programFiles\miniconda3\envs\hy_spider\Scripts\scrapyd-deploy %* 

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

Gerapy使用流程总结

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

总结

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

 

来源:Python爬虫与数据挖掘内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯