山寨了一个 IFTTT

2017-04-24 07:15:05 +08:00
 wuhx
http://xun.im/2017/04/23/cloudmonad/

TLDR;
CloudMonad 可以这样玩:

1.发一条微信消息,推送到你的 Kindle 或者一个私有的 Rss 源。

2. 定时获取京东商品的价格和优惠信息,在满足指定条件后发送一条微信通知消息。

3. 定时访问 12306 网站查询或购买车票。

4. 定时登录微信公众号后台发文。
10965 次点击
所在节点    分享创造
50 条回复
ixinshang
2017-04-24 08:40:20 +08:00
34 厉害了
mekhi
2017-04-24 09:29:09 +08:00
把多说评论换了吧
mawing
2017-04-24 09:52:40 +08:00
试用(注册)的链接是 127.0.0.1
achaocha
2017-04-24 09:58:16 +08:00
试用(注册)的链接是 127.0.0.1
freeznet
2017-04-24 10:03:19 +08:00
wuhx
2017-04-24 10:33:47 +08:00
@mawing
@achaocha 请看 5 楼
wuhx
2017-04-24 10:34:15 +08:00
@mekhi 有什么推荐的替代品?
jwenwang
2017-04-24 11:30:13 +08:00
厉害了
mekhi
2017-04-24 11:36:19 +08:00
@wuhx 国内的话,可以试试畅言
gyorou
2017-04-24 13:45:34 +08:00
LZ 造轮子辛苦了。 https://github.com/cantino/huginn
wuhx
2017-04-24 16:51:06 +08:00
@gyorou 多谢提供这个信息,

仔细看了一下,这两者有很多不样的地方。

huginn 还是一个传统爬虫加一些 pipe 函数做数据处理。
而 CloudMonad 注重的是浏览过程和交互,比如说我要获取 V2EX 分页帖子的所有回复,一般爬虫的做法是以页码为参数自动生成的分页 url 地址分别采集,而 CloudMonad 会去
下一页那个按钮,然后不停的点击采集,只到最后一页(当然也支持拼 url 的方式)。
看了一下 huginn 的自定义 Agent 格式,只有 extract 字段,应该不支持任何交互。这样它的采集能里就会很弱,而演示中哪些看上去很酷的图表,
其实只是最基本的数据处理,完全可以把这两部分分开来么,
数据采集用「造数」这类专业的爬虫,然后自建一个 Hadoop 之类数据中心,定时把数据丢进去分析,专业性和稳定性瞬间就提升一个档次了。

另外,CloudMonad 在设计之初有一个小目标:要在尽可能低的系统资源下支持高扩展性(Scalable),而爬虫特别是 Headless 浏览器是高资源消耗操作,
如何在系统低载时尽可能少的消耗资源,又能应付突发大流量请求是一个难题。最后的解决方案是各种按需付费的云服务。
CloudMonad 用了多种云资源,
包括一个整合了阿里云 MNS 和亚马逊 SQS 双备份的 CloudQueue 用于任务分发。
LeanCloud 数据库配合阿里云 OSS 用于前后端通信。
IBM 的 openwhisk ,亚马逊的 Lambda , DigitalOcean 按需使用的虚拟主机用于动态调整资源。
目前整个 CloudMonad 系统的硬性支出只有一台阿里云最低配虚拟主机,其他资源都是按需使用的,目前还都在免费额度内(当然,用户少:()
那台阿里云虚拟机上运行着一个 Akka node 用于协调资源,用户管理等工作,具体的脏活都时候外包给其他云服务做。

说回 huginn ,它似乎更像一个传统的单机版应用,需要安装 mysql 数据库,对系统要求也很高。
github 首页还挂着一个一年前的内存泄漏 issue ,系统的水平扩展会很成问题
fhefh
2017-04-24 17:25:29 +08:00
厉害 mark
mingyun
2017-04-24 23:01:02 +08:00
厉害了
gyorou
2017-04-25 08:59:19 +08:00
@wuhx
首先能造出这么一个轮子的确很厉害。
不过我还是为 huggin 更正一下。 huggin 可以自己定制 Agent gem ,所以所谓的模拟用户行为之类的是完全没有问题的。
CloudMonad 用了多种云资源, 而 huggin 只是一个传统 Rails 应用加 Sidekiq 的任务管理而已,用 docker-compose 就可以快速起来,安装在任何可以跑 docker 的主机上完全没有问题。整个过程不用超过 5 分钟。比起要使用各种云服务,一台简单的 VPS 即可。
wuhx
2017-04-25 11:09:18 +08:00
@gyorou 是的, docker 是部署应用程序的神器。 openwhisk 其实就是一个即销即用的 Docker 镜像。
Comdex
2017-04-25 18:16:57 +08:00
楼主,我想请教一下,就比如那个京东商品价格监控的,是使用 cron 定时执行,定时任务多时怎么优化
Comdex
2017-04-25 18:17:37 +08:00
还有有没办法实现秒级监控且能合理控制服务器资源
wuhx
2017-04-25 18:40:34 +08:00
@Comdex CloudMonad 用的定时器就是秒级定时的,但后台有限制, 5 分钟之内最多执行一次。
wuhx
2017-05-02 07:58:59 +08:00
mosliu
2017-05-03 08:09:46 +08:00
@wuhx 赞一个 设了一个自动刷微信运动步数的试试看。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/356871

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX