<p align="center">
BSpider
</p>
<p align="center">
<a href="https://github.com/python">
<img src="https://img.shields.io/badge/Python-3.7.4-brightgreen.svg" alt="Python">
</a>
<a href="https://github.com/PanJiaChen/vue-admin-template">
<img src="https://img.shields.io/badge/vue--admin--template-4.0+-brightgreen.svg" alt="vue-admin-template">
</a>
</p>
简介
========
BSpider [Demo](http://bspider-demo.baishanglin.top/)
是一个纯Python实现的高等级分布式全异步web抓取框架,框架采用多进程 +
协程的方式规避 GIL锁带来的不良影响,充分利用多核CPU性能,同时框架设计上尽可能的
减少框架自身对系统性能的影响,使尽可能多的计算资源用于抓取、解析操作。
特色
========
* 弹性,方便拓展。随时启停工作节点
* pipeline、middleware模块多任务可复用
* webUI, 轻松管理大量复杂抓取任务, 快速发现、解决、处理抓取问题。
* RBAC权限控制。RESTful 风格API, 方便二次开发
* 敏捷开发、调试方便、快速上线
前置依赖
============
* Python 3.7+
* 框架服务只能部署在 Linux, Mac OSX 系统
* 可以在 Linux, Windows, Mac OSX 系统进行开发
* rabbtmq `>3.7.x` 并启用 `rabbitmq management plugins` 提供可访问插件的账号
* MySQL `>5.x`
安装
=======
快速安装:
pip install bspider
或从此git仓库自行安装
## 部署服务
=============
### 多节点部署
启动master
```shell script
bspider mkplatform ${platform_name} # 初始化工作台
vim ${platform_name}/config/frame_settings.py # 填入配置
bspider master start # 启动master节点第一次启动节点会初始化MySQL表
```
> notice:
> 1. bspider-studio默认账号:admin 密码:admin
> 2. 登录地址 http://${frame_settings.MASTER.ip}:{frame_settings.MASTER.port} `此处建议使用默认配置并配置nginx进行端口转发`
启动agent
```shell script
bspider startplatform ${platform_name} # 初始化工作台
vim ${platform_name}/config/frame_settings.py # 填入配置
bspider agent start # 、初次启动agent需要使用命令行进行启动,后续可在bspider-studio进行管理
```
> notice:
> 1. agent frame_settings 除agent 配置以外其他配置应和master 保持一致 `AGENT.ip需 和 MASTER.ip 互访`
### 单节点
```shell script
bspider startplatform ${platform_name} # 初始化工作台
vim ${platform_name}/config/frame_settings.py # 填入配置
bspider master start # 启动master节点第一次启动节点会初始化MySQL表
bspider agent start # 初次启动agent需要使用命令行进行启动,后续可在bspider-studio进行管理
```
> notice:
> 1. bspider-studio默认账号:admin 密码:admin
> 2. 登录地址 http://${frame_settings.MASTER.ip}:{frame_settings.MASTER.port} `此处建议使用默认配置并配置nginx进行端口转发`
> * 单节点下推荐AGENT.ip、MASTER.ip 都使用127.0.0.1
快速开始
========
初始化项目
```shell script
# 在要进行开发的电脑上
bspider mkplatform ${platform_name} # 初始化工作台
vim ${platform_name}/config/frame_settings.py # 填入配置 AGENT配置可不填,其他配置和线上配置保持一致
bspider mkspider ${spider_name} # 自动生成模板代码
cd ${platform_name}/projects/${spider_name}
# 开始开发
```
各文件说明
> 1. pipeline.*_pipeline.py 类似于Scrapy 的pipeline `一个py文件只能包含一个pipeline class 且类名必须为 *Pipeline`
> 2. project.${project_name}.*_extractor.py 抽取逻辑。目前`只支持xpath 通常一个抓取任务只需编写此组件`
> 3. middleware.*_middleware.py 下载器中间件。`一个py文件只能包含一个middleware class 且类名必须为 *Middleware`
> 4. project.${project_name}.settings.yml 当前下载任务的配置
> 只需编写 extractor 和 yml 配置文件即可完成爬虫开发
`notice: 每个项目只可配置一个extractor, 但可配置多个pipeline 或 middleware`
发布到服务
*** 发布前先确认有 一个或以上的 parser、downloader `进程`运行
> 进入ui提交任务
TODO
1. 校验pipeline 拟采用jsonschema实现 或者正则方式实现
2. 前端权限校验 worker 只能修改自己的 job
3. master 增加报警接口 为各节点提供统一的报警处理方式
4. code 增加 doc 使用文档
5. project页面直达 extractor编辑页面
没有合适的资源?快使用搜索试试~ 我知道了~
PyPI 官网下载 | bspider-0.0.7.tar.gz
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 21 浏览量
2022-01-09
16:12:37
上传
评论
收藏 1.04MB GZ 举报
温馨提示
共263个文件
py:137个
js:35个
css:30个
资源来自pypi官网。 资源全名:bspider-0.0.7.tar.gz
资源推荐
资源详情
资源评论
收起资源包目录
PyPI 官网下载 | bspider-0.0.7.tar.gz (263个子文件)
setup.cfg 113B
rbac_model.conf 248B
app.a67f6c82.css 216KB
chunk-d5ed973a.27496262.css 7KB
chunk-556562e8.b043920c.css 5KB
chunk-libs.3dfb7769.css 3KB
chunk-3ef87082.471d898d.css 3KB
chunk-70756f9f.18935f18.css 3KB
chunk-7448eed0.dc105d85.css 2KB
chunk-c9b395aa.afa35e96.css 987B
chunk-0c90b2b1.1a6e25ec.css 987B
chunk-6d50e75a.1a6e25ec.css 987B
chunk-512feda6.d9a5f9f2.css 987B
chunk-1b893286.d9a5f9f2.css 987B
chunk-c2196bee.afa35e96.css 987B
chunk-ce1df102.f26fef7d.css 981B
chunk-535058b1.f26fef7d.css 981B
chunk-349b9bc2.a724f5df.css 838B
chunk-080b7364.6d24dacd.css 763B
chunk-45260780.6d24dacd.css 763B
chunk-6d5ca4bc.6d24dacd.css 763B
chunk-10ab8e91.6d24dacd.css 763B
chunk-375dfbec.6d24dacd.css 763B
chunk-7b376c77.6d24dacd.css 763B
chunk-05a99c67.d0296c60.css 745B
chunk-2505fd54.4d48574a.css 703B
chunk-ef026bee.35874984.css 631B
chunk-33d925ba.daf87679.css 538B
chunk-7d722b74.daf87679.css 538B
chunk-673e3f6a.d4f514c7.css 464B
chunk-0d31cc8e.a9d447e8.css 464B
chunk-18c37aba.750df7c2.css 372B
rbac_policy.csv 523B
.DS_Store 6KB
.DS_Store 6KB
401.089007e7.gif 160KB
index.html 6KB
favicon.ico 66KB
MANIFEST.in 231B
chunk-16301c8a.fe7b6818.js 794KB
chunk-elementUI.39b32a2b.js 552KB
chunk-libs.b6675654.js 249KB
chunk-70756f9f.f10a6756.js 203KB
chunk-d5ed973a.4dfdf904.js 166KB
app.19f7c64a.js 99KB
chunk-8b071366.2255873f.js 35KB
chunk-349b9bc2.20885c3a.js 27KB
chunk-3ef87082.03739e74.js 17KB
chunk-10ab8e91.7b456975.js 15KB
chunk-0d31cc8e.f2f7eaa6.js 14KB
chunk-080b7364.9344bfb6.js 13KB
chunk-18c37aba.dc510992.js 12KB
chunk-1b893286.e9d236b1.js 11KB
chunk-512feda6.8f1112b0.js 11KB
chunk-0c90b2b1.d23d569a.js 11KB
chunk-6d50e75a.0490263e.js 11KB
chunk-375dfbec.8423dfd4.js 11KB
chunk-7b376c77.28d0883b.js 10KB
chunk-45260780.bc2ddf88.js 10KB
chunk-6d5ca4bc.dee5ac7d.js 10KB
chunk-673e3f6a.fd6f6448.js 8KB
chunk-535058b1.ec8714de.js 8KB
chunk-ce1df102.1b230087.js 8KB
chunk-c9b395aa.12d1b35f.js 8KB
chunk-c2196bee.f4e634d9.js 8KB
chunk-7d722b74.2169643f.js 7KB
chunk-33d925ba.2d8b8314.js 7KB
chunk-ef026bee.1646ba3c.js 5KB
chunk-2505fd54.d56b1467.js 4KB
chunk-7448eed0.f510d711.js 3KB
chunk-05a99c67.5c2b3816.js 2KB
chunk-556562e8.446d7d4f.js 2KB
chunk-2d2105d3.8eb9d2f2.js 425B
chunk-2d230fe7.fcb684d8.js 368B
README.md 4KB
random_ua_middleware.py.module 28KB
bproxypool_middleware.py.module 4KB
bloom_filter_pipeline.py.module 3KB
auto_clear_operation.py.module 3KB
project_health_alert_operation.py.module 2KB
node_status_alert_operation.py.module 2KB
mysql_saver_pipeline.py.module 2KB
not-zip-safe 1B
PKG-INFO 917B
PKG-INFO 917B
404.a57b6f31.png 96KB
404_cloud.0f4bc32b.png 5KB
node.py 10KB
project.py 10KB
remote_mixin.py 8KB
job.py 8KB
client.py 7KB
project.py 7KB
master.py 7KB
async_downloader.py 7KB
async_client.py 6KB
jobstore.py 6KB
debuger.py 6KB
todo.py 5KB
code.py 5KB
共 263 条
- 1
- 2
- 3
资源评论
挣扎的蓝藻
- 粉丝: 13w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功