前言
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步)重新開始執行,在開發階段可以節約很多時間。