当先锋百科网

首页 1 2 3 4 5 6 7

f017f681b050a911636425754bf76cea.png

相关文章传送门

Mr数据杨:【Gerapy爬虫管理框架】部署流程​zhuanlan.zhihu.com
5fc67aa286b2f4c6c8f2d0ef2e8770af.png
Mr数据杨:【Gerapy爬虫管理框架】错误总结​zhuanlan.zhihu.com
5fc67aa286b2f4c6c8f2d0ef2e8770af.png
Mr数据杨:【Gerapy爬虫管理框架】使用技巧​zhuanlan.zhihu.com
5fc67aa286b2f4c6c8f2d0ef2e8770af.png

Gerapy这个框架是干嘛的?

将我们爬虫工程师通过Scrapy爬虫框架写好的项目整合到Django的Web环境进行统一管理的后台。简单理为一个Admin后台进行控制我们写好的爬虫脚本,进行有针对性的网络数据采集(比如固定时间、固定间隔、或者一次性采集)方便管理,并且对项目进行简单的项目管理,对于了解Django的Web开发的小伙伴来说后期如果需要报表功能可以基于这个框架自己增加Admin中的模块功能,比较容易。该框架对于初学者非常友好,并且使用简单、高效。

注意的坑!

  1. Gerapy的Django版本是1.x,如果使用的Django环境是2.x、3.x或者更高版本是不兼容的,有能力的童鞋自行修改对应源码即可,如果懒得修改的话直接弄2台机器吧。处理方案传送
  2. 部署服务器的话需要开一个端口进行远程访问,切记不要开6800裸奔。
  3. 远程服务器配置和scrapy配置版本要相同。

效果展示

0cb8c215f676096867a16cddc0138459.png

5d805717cf61fac3a6f8ce4753555aac.png

8e4a0a5883442ad59b3bcae8b6897a38.png

4581fe5c7fba384edea1775551380f3c.png

部署流程

项目安装

gerapy 安装 注意自己的版本

pip install gerapy

scrapyd 安装

pip install scrapyd

创建工作的文件目录,该目录下初始化项目(文件名随意)用命令行执行

gerapy init

初始化数据库

cd gerapy
gerapy migrate

cc78c08702b80d7201bd7e10e9a5848a.png

创建超级用户(记住用户名和密码)

gerapy initadmin

然后就可以启动服务了,启动服务(可指定url和port)

gerapy runserver 你的ip+端口(0.0.0.0:8000)
scrapyd 或者 /usr/local/python3/bin/scrapyd

进入管理平台(浏览器输入) 举例这样在本地打开

http://127.0.0.1:8000

这个地方有点坑,网上很多教程没有用户名密码创建登陆过程,不创建用户无法使用。创建超级用户(用户名和密码都是admin),创建完毕之后进入管理平台进行密码修改即可。

gerapy initadmin

主机管理

  1. 创建主机名称(机器名称:能区分出来就行)
  2. 创建主机IP(IP网段:略)
  3. 创建主机端口(端口号:一般默认6800)
  4. 认证:目前这个用户名对和错都能正常运行

e6b290eb5e4585d37671fe55c2983b26.png

项目管理

  1. 将我们写好的scrapy的工程project目录复制到gerapy中的project复制过来就行,然后会在页面中直接显示你的项目目录。
  2. 部署之

62575f457bf598079db2c0c19564f543.png

e535e7047960239066ed7199b1c5ad38.png

任务管理

创建任务 包括名称(自定义)、项目(需要和项目管理一致)、爬虫(单独spider文件) 执行任务:主机 + 调度方式 + 运行时间 + 时区,大陆选择Asia/Hong_Kong

21540ba87ee348ce8810ab019446b6af.png

然后就都部署好了,可以自己用爬虫模拟器根据抓取的脚本写一个自动化填写的脚本,基本1个礼拜100个脚本1个一个整太烦,尝试在sqlite里直接添加无法执行,不知道什么原因。