跳转到主要内容

专家Python编程 - 数据处理框架

项目描述

整体情况

Atomisator 是一个通用的数据处理框架,它与插件一起工作。其目的是提供一个构建数据处理任务的引擎。

  1. 您提供执行工作的插件。

  2. 您在配置文件中描述如何将它们组合。

  3. Atomisator 执行工作。

Atomisator 的工作分为两步

  • 收集:获取并过滤数据,然后存储。

  • 渲染:增强和渲染存储的数据。

The big picture

整体情况。

快速入门

让我们用Atomisator建立一个星球!

要完成此操作,请在某处创建一个配置文件,使用-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

Atomisator 将读取源,然后生成一个 atomisator.xml 文件。

两个阶段的过程

您还可以单独调用填充数据库的过程

$ atomisator -r -f /path/to/atomisator.cfg

在这种情况下,不会发生feed生成。

-g选项可以单独用于生成xml文件

$ atomisator -g -f /path/to/atomisator.cfg

这对于在不同的进程和不同时间基础上读取源和生成feed非常有用。

有关其他有用选项,请运行

$ atomisator --help

更多详细信息

如前所述,Atomisator分为两个步骤工作

  • 收集:获取并过滤数据,然后存储。

  • 渲染:增强和渲染存储的数据。

收集数据

通过调用插件(1)读取和过滤(2)数据来完成数据收集。这两个步骤是通过调用插件完成的。

例如,如果您想从RSS源获取一些数据,可以使用默认提供的rss插件,并在Atomisator配置文件中使用它。

...
sources =
    rss     http://tarekziade.wordpress.com/atom
    rss     http://digg.com/rss2.xml
...

这告诉Atomisator查找rss阅读器插件,并用URL作为参数调用它。插件必须返回条目。

下一步是过滤收集到的条目。过滤意味着要么在实时更改数据,要么丢弃它。

例如,如果您想删除包含特定表达式的所有条目,可以使用默认提供的stopwords插件,并在Atomisator配置文件中使用它。

...
filters =
    stopwords   word_list.txt
...

这告诉atomisator查找stopwords插件,并用收集到的条目调用它。该插件使用指向文件中的单词列表,并检查数据是否与给定的正则表达式匹配。如果是,则丢弃数据。

数据渲染

数据收集后,它将存储在数据库中。您现在可以使用增强器(5)和输出(6)过滤器来渲染它。

例如,如果您想查看条目是否对应于已经被digged的网页,可以使用digg插件。

...
enhancers =
    digg
...

该插件将由Atomisator调用,并通过通过RPC查询Digg.com来在数据中注入Digg评论。

最后,调用输出插件进行最终步骤。例如,rss输出插件将以RSS 2.0 XML文件的形式渲染数据。

...
outputs =
    rss atomisator.xml http://atomisator.ziade.org/example meta "Automatic feed created by Atomisator."
...

除了条目外,所有跟在插件名称后面的参数都将发送给它。

可用插件

待编写

如何编写插件

待编写

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

Atomisator-1.3.tar.gz (3.3 kB 查看哈希值)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面