All Projects → Boris-code → feaplat

Boris-code / feaplat

Licence: other
爬虫管理系统,支持集群,弹性伸缩。支持运行feapder、scrapy、selenium、playwright等各种框架及脚本

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to feaplat

php-crawler
🕷️ A simple crawler (spider) writen in php just for fun, with zero dependencies
Stars: ✭ 39 (-7.14%)
Mutual labels:  spider
ant
A web crawler for Go
Stars: ✭ 264 (+528.57%)
Mutual labels:  spider
seenreq
Generate an object for testing if a request is sent, request is Mikeal's request.
Stars: ✭ 42 (+0%)
Mutual labels:  spider
dcard-spider
A spider on Dcard. Strong and speedy.
Stars: ✭ 91 (+116.67%)
Mutual labels:  spider
DeadPool
该项目是一个使用celery作为主体框架的爬虫应用,能够灵活的添加爬虫任务,并且同时运行多站点的爬虫工作,所有组件都能够原生支持规模并发和分布式,加上celery原生的分布式调用,实现大规模并发。
Stars: ✭ 38 (-9.52%)
Mutual labels:  spider
bet365-websocket-crawler
bet365 bot: bet365的比赛实时比分数据、实时赔率
Stars: ✭ 67 (+59.52%)
Mutual labels:  spider
article-spider
文章采集工具 Article collection tool
Stars: ✭ 130 (+209.52%)
Mutual labels:  spider
small-spider-project
日常爬虫
Stars: ✭ 14 (-66.67%)
Mutual labels:  spider
SpiderCard
蜘蛛纸牌 for mac
Stars: ✭ 29 (-30.95%)
Mutual labels:  spider
spider
python 爬虫(amazon, confluence ...)
Stars: ✭ 21 (-50%)
Mutual labels:  spider
spider-mzitu
妹子图
Stars: ✭ 13 (-69.05%)
Mutual labels:  spider
glyphhanger
Your web font utility belt. It can subset web fonts. It can find unicode-ranges for you automatically. It makes julienne fries.
Stars: ✭ 422 (+904.76%)
Mutual labels:  spider
crawlBaiduWenku
这可能是爬百度文库最全的项目了
Stars: ✭ 63 (+50%)
Mutual labels:  spider
tuchong Spider
⭐ 图虫网爬虫
Stars: ✭ 16 (-61.9%)
Mutual labels:  spider
scraper
图片爬取下载工具,极速爬取下载 站酷https://www.zcool.com.cn/, CNU 视觉 http://www.cnu.cc/ 设计师/用户 上传的 图片/照片/插画。
Stars: ✭ 64 (+52.38%)
Mutual labels:  spider
gathertool
gathertool是golang脚本化开发库,目的是提高对应场景程序开发的效率;轻量级爬虫库,接口测试&压力测试库,DB操作库等。
Stars: ✭ 36 (-14.29%)
Mutual labels:  spider
Novel-crawler
这是一个用Python写的小说爬虫软件
Stars: ✭ 75 (+78.57%)
Mutual labels:  spider
TikTokDownloader PyWebIO
🚀「Douyin_TikTok_Download_API」是一个开箱即用的高性能异步抖音|TikTok数据爬取工具,支持API调用,在线批量解析及下载。
Stars: ✭ 919 (+2088.1%)
Mutual labels:  spider
crawlerdetect
Golang module to detect bots and crawlers via the user agent
Stars: ✭ 22 (-47.62%)
Mutual labels:  spider
blinkist-m4a-downloader
Grabs all of the audio files from all of the Blinkist books
Stars: ✭ 100 (+138.1%)
Mutual labels:  spider

爬虫管理系统 - FEAPLAT

生而为虫,不止于虫

feaplat命名源于 feapder 与 platform 的缩写

读音: [ˈfiːplæt]

特性

  1. 支持任何python脚本,包括不限于feapderscrapy
  2. 支持浏览器渲染,支持有头模式。浏览器支持playwrightselenium
  3. 支持部署服务,可自动负载均衡
  4. 支持服务器集群管理
  5. 支持监控,监控内容可自定义
  6. 支持起多个实例,如分布式爬虫场景
  7. 支持弹性伸缩
  8. 支持4种定时启动方式
  9. 支持自定义worker镜像,如自定义java的运行环境、机器学习环境等,即根据自己的需求自定义(feaplat分为master-调度端worker-运行任务端
  10. docker一键部署,架设在docker swarm集群上

为什么用feaplat爬虫管理系统

市面上的爬虫管理系统

feapderd

worker节点常驻,且运行多个任务,不能弹性伸缩,任务之前会相互影响,稳定性得不到保障

feaplat爬虫管理系统

pic

worker节点根据任务动态生成,一个worker只运行一个任务实例,任务做完worker销毁,稳定性高;多个服务器间自动均衡分配,弹性伸缩

功能概览

1. 项目管理

添加/编辑项目 -w1785

2. 任务管理

3. 任务实例

日志

4. 爬虫监控

feaplat支持对feapder爬虫的运行情况进行监控,除了数据监控和请求监控外,用户还可自定义监控内容,详情参考自定义监控

若scrapy爬虫或其他python脚本使用监控功能,也可通过自定义监控的功能来支持,详情参考自定义监控

注:需 feapder>=1.6.6

部署

下面部署以centos为例, 其他平台docker安装方式可参考docker官方文档:https://docs.docker.com/compose/install/

1. 安装docker

删除旧版本(可选,需要重装升级时执行)

yum remove docker  docker-common docker-selinux docker-engine

安装:

yum install -y yum-utils device-mapper-persistent-data lvm2 && python2 /usr/bin/yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo && yum install docker-ce -y

国内用户推荐使用

yum install -y yum-utils device-mapper-persistent-data lvm2 && python2 /usr/bin/yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && yum install docker-ce -y

启动

systemctl enable docker
systemctl start docker

2. 安装 docker swarm

docker swarm init

# 如果你的 Docker 主机有多个网卡,拥有多个 IP,必须使用 --advertise-addr 指定 IP
docker swarm init --advertise-addr 192.168.99.100

3. 安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

国内用户推荐使用

sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

4. 部署feaplat爬虫管理系统

预备项

安装git(1.8.3的版本已够用)

yum -y install git

1. 下载项目

gitub

git clone https://github.com/Boris-code/feaplat.git

gitee

git clone https://gitee.com/Boris-code/feaplat.git

2. 运行

首次运行需拉取镜像,时间比较久,且运行可能会报错,再次运行下就好了

cd feaplat
docker-compose up -d
  • 若端口冲突,可修改.env文件,参考常见问题

3. 访问爬虫管理系统

默认地址:http://localhost 默认账密:admin / admin

4. 停止(可选)

docker-compose stop

5. 添加服务器(可选)

用于搭建集群,扩展爬虫(worker)节点服务器

1. 安装docker

参考部署步骤1

2. 部署

在master服务器(feaplat爬虫管理系统所在服务器)执行下面命令,查看token

docker swarm join-token worker

在需扩充的服务器上执行

docker swarm join --token [token] [ip]

这条命令用于将该台服务器加入集群节点

3. 验证是否成功

在master服务器(feaplat爬虫管理系统所在服务器)执行下面命令

docker node ls

若打印结果包含刚加入的服务器,则添加服务器成功

4. 下线服务器(可选)

在需要下线的服务器上执行

docker swarm leave

拉取私有项目

拉取私有项目需在git仓库里添加如下公钥

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCd/k/tjbcMislEunjtYQNXxz5tgEDc/fSvuLHBNUX4PtfmMQ07TuUX2XJIIzLRPaqv3nsMn3+QZrV0xQd545FG1Cq83JJB98ATTW7k5Q0eaWXkvThdFeG5+n85KeVV2W4BpdHHNZ5h9RxBUmVZPpAZacdC6OUSBYTyCblPfX9DvjOk+KfwAZVwpJSkv4YduwoR3DNfXrmK5P+wrYW9z/VHUf0hcfWEnsrrHktCKgohZn9Fe8uS3B5wTNd9GgVrLGRk85ag+CChoqg80DjgFt/IhzMCArqwLyMn7rGG4Iu2Ie0TcdMc0TlRxoBhqrfKkN83cfQ3gDf41tZwp67uM9ZN [email protected]

或在系统设置页面配置您的SSH私钥,然后在git仓库里添加您的公钥,例如:

注意,公私钥加密方式为RSA,其他的可能会有问题

生成RSA公私钥方式如下:

ssh-keygen -t rsa -C "备注" -f 生成路径/文件名

如: ssh-keygen -t rsa -C "feaplat" -f id_rsa 然后一路回车,不要输密码 最终生成 id_rsaid_rsa.pub 文件,复制id_rsa.pub文件内容到git仓库,复制id_rsa文件内容到feaplat爬虫管理系统

自定义爬虫镜像

默认的爬虫镜像只打包了feapderscrapy框架,若需要其它环境,可基于.env文件里的SPIDER_IMAGE镜像自行构建

如将常用的python库打包到镜像

FROM registry.cn-hangzhou.aliyuncs.com/feapderd/feapder:[最新版本号]

# 安装依赖
RUN pip3 install feapder \
    && pip3 install scrapy

自己随便搞事情,搞完修改下 .env文件里的 SPIDER_IMAGE 的值即可

价格

类型 价格 说明
试用版 0元 可部署5个任务,删除任务不可恢复额度
正式版 288元 有效期一年,可换绑服务器

部署后默认为试用版,购买授权码后配置到系统里即为正式版

购买方式:添加微信 boris_tm

随着功能的完善,价格会逐步调整

学习交流

知识星球:17321694 作者微信: boris_tm QQ群号:750614606

加好友备注:feaplat

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].