前言
Da0tabot是用于 Web 爬虫、ETL、数据管道任务开发的高性能 Python 数据驱动编程框架。
**
特性:**
- 数据驱动编程框架
- 基于协程的并行
- 基于类型和内容的函数路由
安装:
pip install -U databot
Databot is...
简单
每2秒加载一次CoinDesk比特币价格. 高级价格聚合案例参见 here.
from databot.flow import Pipe, Timer
from databot.botframe import BotFrame
from databot.http.http import HttpLoader
def main():
Pipe(
Timer(delay=2), # send timer data to pipe every 2 sen
"http://api.coindesk.com/v1/bpi/currentprice.json", # send url to pipe when timer trigger
HttpLoader(), # read url and load http response
lambda r: r.json['bpi']['USD']['rate_float'], # read http response and parese as json
print, # print out
)
BotFrame.render('simple_bitcoin_price')
BotFrame.run()
main()```
流程图形化
databot 生成的流程图:
![](https://yqfile.alicdn.com/bf817f05db212da5438a3d02eb60c10b304a0862.png)
>小编推荐一个学python的学习qun 740322234
无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
**快速**
节点并行运行可以很好的处理流数据
**可视化**
执行函数: BotFrame.render('bitcoin_arbitrage') Databot 将会把数据处理流程生成为 graphviz 图片:
https://github.com/kkyon/databot/blob/master/examples/bitcoin_arbitrage.png
**可重放**
配置可重放模式: config.replay_mode=True 异常发生在第N步的时候,不用从第一步执行到第N步,Databot可以从完成的最近点(通常是第N-1步)重新开始执行,在开发阶段可以节约很多时间。