专家python编程-数据处理框架
Atomisator的Python项目详细描述
大局
atomistator是一个通用的数据处理框架 有插件。它的目的是提供一个引擎来构建 数据处理任务。
- 你提供了插件来完成工作。
- 您将描述如何在配置文件中组合它们。
- 原子化学家做这项工作。
原子发生器分两步工作:
- 采集:采集、过滤、存储数据。
- 渲染:增强并渲染存储的数据。
大局。
快速启动
让我们用原子加速器来建造一个星球!
为此,在某处创建一个配置文件, 使用-c选项:
$ atomisator -c atomisator.cfg
生成默认配置文件, 如下所示(删除的注释):
[atomisator] sources = rss http://tarekziade.wordpress.com/atom rss http://digg.com/rss/index.xml filters = enhancers = outputs = rss atomisator.xml http://atomisator.ziade.org/example "Meta feed" "Automatic feed created by Atomisator." database = sqlite:///atomisator.db
此文件可以由atomisator解释,并带有-f选项:
$ atomisator -f /path/to/atomisator.cfg Reading source http://tarekziade.wordpress.com/atom 10 entries read. Reading source http://digg.com/rss/index.xml 40 entries read. 50 total. Writing feed in atomisator.xml Feed ready.
也可以将路径指定为自由参数:
$ atomisator /path/to/atomisator.cfg
原子缔造者将读取源,然后生成 一个atomistator.xml文件。
两相过程
您还可以单独调用填充数据库的进程:
$ atomisator -r -f /path/to/atomisator.cfg
在这种情况下,不会生成feed。
-g选项可用于自行生成xml文件:
$ atomisator -g -f /path/to/atomisator.cfg
这对于在不同的过程和不同的时间基础上读取源和生成feed非常有用。
有关其他有用的选项,请运行:
$ atomisator --help
更多详细信息
如前所述,原子化器分两步工作:
- 采集:采集、过滤、存储数据。
- 渲染:增强并渲染存储的数据。
收集数据
通过读取(1)和过滤(2)数据来收集数据。 这两个步骤是通过调用插件来完成的。
例如,如果您想从rss提要获取一些数据, 您可以使用默认提供的rss插件, 并在atomistator配置文件中使用:
... sources = rss http://tarekziade.wordpress.com/atom rss http://digg.com/rss2.xml ...
这告诉Atomisator寻找rss的reader插件, 并以url作为参数调用它。插件必须 返回条目。
下一步是筛选收集的条目。过滤装置 要么动态更改数据,要么丢弃数据。
例如,如果要删除包含 特定的表达式,您可以使用stopwords插件 默认情况下提供并在原子化器中使用的 配置文件:
... filters = stopwords word_list.txt ...
这将告诉atomisator查找stopwords插件和 用收集的条目调用它。插件使用 在指向的文件中列出,并且数据的外观与 给定正则表达式。如果是,则丢弃数据。
渲染数据
收集数据后,将其存储在数据库中。 现在可以使用增强器(5)和输出来渲染它 (6)过滤器。
例如,如果要查看条目是否对应于 已被挖掘的网页,您可以使用digg插件:
... enhancers = digg ...
这个插件将由atomisator调用,并将注入 通过rpc查询digg.com在数据中添加digg注释。
最后,在最后一步调用输出插件。为了 示例rss输出插件将在 rss 2.0xml文件:
... outputs = rss atomisator.xml http://atomisator.ziade.org/example meta "Automatic feed created by Atomisator." ...
插件名称后面的所有参数都将发送给它, 除了条目。
可用插件
XXX待写
如何编写插件
XXX待写