从节假日开放源代码项目到27k +星和2.5k + Forks

Huginn:开放源代码,自托管的IFTTT

作为开发人员,我们没有时间或耐心来执行常规任务。 我们喜欢把事情做好,任何可以帮助我们实现自动化的工具都备受关注。

输入Huginn ,它是类似于ZapierIFTTT的工作流自动化服务器但是是开源的。 使用Huginn,您可以自动执行任务,例如监视航空旅行交易,持续监视Twitter上的某些主题或扫描代码中的敏感数据。

最近有关Huginn的帖子在Hacker News上排名第一。 这激起了我的兴趣,所以我想看看它为什么如此受欢迎,它的全部含义以及它的用途。

Huginn如何开始

我与Huginn的创作者Andrew Cantino取得了联系,问他为什么开始创作。

“我在2013年启动了这个项目,以解决自己的问题-我想抓取一些网站以了解它们的更改时间(网络漫画,电影预告片,当地天气预报,Craigslist销售,eBay等),我希望能够自动化对这些更改的简单反应。我对个人自动化感兴趣已有一段时间,而Huginn最初是我在当年圣诞节期间建立的一个快速项目。”

但是,这个简单的圣诞节假期项目迅速发展起来。

今天,Huginn是一个社区驱动的项目,拥有数百名贡献者和数千名用户。 安德鲁仍将Huginn用于其原始用例:

“我仍然主要将Huginn用于此目的:它告诉我即将到来的院子销售情况,如果今天由于预报降雨而我应该带雨伞,很少更新的博客发生变化,某些单词出现在Twitter上时,等等。我还发现它对于为我撰写的有关太空工业的每周新闻通讯( The Orbital Index)采购信息非常有用。”

但是,社区发现了更广泛的用途。 因此,让我们看看Huginn到底是什么,如何设置它,以及如何使用它来使您的日常生活自动化。

休金如何运作

Huginn是基于Web的计划服务,运行称为Agents的工作程序 。 每个代理执行特定功能,例如发送电子邮件或请求网站。 代理会生成和使用称为事件的JSON有效负载,可用于将代理链接在一起。 代理可以安排,也可以手动执行。

入门

使用“ 部署到Heroku”按钮只需单击一次即可轻松部署Huginn。 Huginn还支持Docker和Docker Compose,在Linux上手动安装以及许多其他部署方法 。 安装后,您可以使用许多可用的特工宝石之一创建自己的来扩展Huginn。

部署Huginn并登录(检查URL的特定设置)后,创建新的代理很简单,如此屏幕快照所示。 该代理实时跟踪Twitter流。

这是一个现有的Agent,可以从xkcd.com获取最新的漫画。 您可以查看代理的基本统计信息(上次检查,上次创建等)。 “选项”字段显示了如何配置代理,包括用于从页面提取数据的CSS选择器。

情境

您还可以将代理组织到方案中,这使您可以将相似的代理分组,以及将代理配置导入和导出为JSON文件。 您还可以使用称为控制器的特殊代理微调代理的调度和配置。 在这里,我们看到了一个以“娱乐”为主题的方案场景。

动态内容

最后,Huginn使用Liquid模板引擎,该引擎使您可以将动态内容加载到Agent中。 这通常用于与代理分开存储配置数据(例如凭据 )。

在这里,它用于将来自XKCD源代理的URL,标题和悬停文本格式化为HTML:

为什么要使用Huginn?

除Web抓取外,Huginn还支持各种操作,这些操作可以允许某些真正复杂的工作流程。 免责声明:许多网站禁止自动抓取网页。 确保检查您打算使用Huginn访问的任何网站的服务条款(TOS)。

GitHub页面上的一些示例包括:

  • 注意航空旅行或购物优惠
  • 在Twitter上关注您的项目名称,并在人们提及他们时获得更新
  • 连接到Adioso,HipChat,Basecamp,Growl,FTP,IMAP,Jabber,JIRA,MQTT,nextbus,Pushbullet,Pushover,RSS,Bash,Slack,StubHub,翻译API,Twilio,Twitter,Wunderground和Weibo等。
  • 发送摘要电子邮件,其中包含您在一天中特定时间关心的事情
  • 跟踪高频事件的计数,并在突发事件瞬间发送短信
  • 发送和接收WebHooks
  • 运行自定义JavaScript或CoffeeScript函数
  • 随着时间的推移跟踪您的位置
  • 创建Amazon Mechanical Turk工作流作为代理的输入或输出(Amazon Turk代理称为“ HumanTaskAgent”)。 例如:“每天一次,请5个人提供​​一张有趣的猫照片;将结果发送给另外5个人进行评分;将评分最高的照片发送给5个人以提供有趣的字幕;发送给5个最终的人进行评分最有趣的标题;最后,在我的博客上发布最好的标题照片。”

让我们详细研究其中一些用例。

策划的饲料

使用网站代理,您可以获取多个网页的最新内容,过滤和汇总结果,然后将最终内容作为电子邮件发送给自己。 默认方案通过获取最新的XKCD漫画来演示这一点。 这将创建一个包含漫画标题,URL和悬停文本的事件,这些事件通过事件格式设置代理呈现为HTML。 另一个网站代理同时从iTunes获取最新的电影预告片,然后将两个事件合并到一个电子邮件摘要代理中,该代理在每天下午触发:

监控社交网络

Huginn支持多个社交网络,包括Twitter和Tumblr。 这些代理可以监视其他用户的新帖子,热门话题和更新。

假设您居住在飓风频发地区,并且想了解暴风雨的影响。 使用Twitter Stream Agent,您可以监视包含“飓风”,“风暴”等的推文,并将结果传递给Peak Detector Agent。 这会计算一段时间内的推文,测量标准偏差,并在检测到异常值时触发事件。 您可以让此事件触发立即通知您的电子邮件代理。 安德鲁·坎蒂诺(Andrew Cantino) 在他的博客中详细解释了该用例。

价格购物

Huginn是出色的在线购物工具。 购买最优惠的商品时,请创建网站代理以在折扣和交易网站上进行每日搜索。 使用事件格式代理提取价格,然后使用变更检测器代理将最后检索到的价格与当前价格进行比较。 如果它较低,则可以提取项目URL并将其直接发送到收件箱。

安全警报

掌握安全更新的顶部是一个连续的过程。 您可以使用Huginn来监视国家漏洞数据库中影响系统的CVE,并立即通知您。 如果要过滤结果(例如,仅显示高优先级警报),则可以使用触发器代理仅允许严重性高于特定值的结果。

高级用例

Huginn随附了一些功能强大的代理,这些代理将其功能大大扩展到了Web抓取之外。

数据处理与验证

Huginn可以读取主机上存储的文件,从而使其成为有用的数据处理工具。 假设您正在测试对代码库的更改,并且在提交之前,您想要扫描在测试期间可能遗留的任何敏感数据。 您可以创建一个本地文件代理来扫描您的项目目录,将内容传递给事件格式代理,并使用正则表达式来检测凭据,密码和类似的字符串。 或者,您可以使用Shell Command Agent调用诸如repo-supervisor之类的实用程序,并在检测到匹配项时触发桌面通知。

新闻编辑室自动化

Huginn的首批重大成就之一是《纽约时报》采用它来使新闻编辑室任务自动化。 在2014年冬季奥运会期间,Huginn监控了其数据管道的可用性,并在授予奖牌时发送了通知。 当nytimes.com上的内容发生改变时,Huginn还通知了记者新故事并更新了Slack频道。 您可以在Huginn for Newsrooms中了解有关它们的用例的更多信息。

结论

Huginn是一个看似简单的工具,具有很大的灵活性。 看看它能做什么的最好方法是自己尝试。 要了解更多信息,请访问https://github.com/huginn/huginn



From: https://hackernoon.com/from-a-holiday-break-open-source-project-to-27k-stars-and-25k-forks-pca132ig

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值