如何通过RSS订阅微信公众号上的文章?

微信上订阅了一些专业性比较强的公众帐号,以“医学专业新闻为例”,推送的医学文献我并不喜欢用手机阅读,想试图同步到印象笔记或者kindle上再看,请问如…
关注者
1,826
被浏览
1,186,111

38 个回答

2018年7月20日更新

因为微广场关闭,我重新又写了一篇文章,大家看看这几种方法能不能满足各位的需求,文章内容如下:

本文会介绍大家几种订阅微信公众号的绝佳方法,相信总有一款是适合你的(最后一种方法强烈推荐)。为了衡量这些方法的优缺点,我会使用下面三个公众号进行测试:

  • warfalcon:刘洋老师的个人微信公共号,著名的博客写手,主要是分享一些关于学习以及生活的思考,粉丝较多;
  • 木西 AlexanDENG:邓楠的个人微信公众号,著名的青年商业摄影师,主要是分享一些关于摄影的干货,在圈内粉丝较多;
  • MXPRESSO:一个好朋友公司的微信公众号,主要是分享一些关于咖啡与生活的文章,粉丝数不清楚。

1. 即刻 APP(该方法已失效)

在聚合类 APP 里,我觉得即刻做得是最棒的。我是从 2015 年开始使用这个 APP 的,应该是最早的那批用户,从刚开始只有一些人工筛选的主题到现在用户可以自定义主题,即刻的功能越来越强大,我在之前的文章中就安利过多次。在 3.0 版本以后,即刻加入了自定义主题功能,用户可以通过 APP 提供的追踪机器人创建自定义主题(提醒),这个功能的加入让我对这个 APP 更加刮目相看,因为这个功能在别的 APP 中是找不到的。


即刻提供的追踪机器人中就有公众号文章更新这个机器人,通过它就可以订阅微信公众号,创建一个关于公众号的自定义主题,微信公众号更新文章以后,就可以收到提醒,在即刻 APP 里阅读,而且创建的自定义主题还可以分享给其他人使用,通过审核后的主题还会被系统推荐给其他人使用。我测试了上面的三个微信公众号,都可以通过这种方式来订阅,如果你经常使用即刻的话,这种订阅方式是再适合不过的啦。

2. 轻芒阅读 APP

轻芒阅读是另一款信息聚合类 APP,就是以前的豌豆荚一览,现在已经从豌豆荚里分离出来了。在这个 APP 里可以阅读一些应用以及公众号的文章,使用体验很不错,高效且优雅。我搜索了上面的三个公众号,没有搜索到 MXPRESSO,可能是因为没有收录吧。在内容更新上,Warfarcon 的文章都有更新,包括前天的文章,但是木西 AlexanDENG 中昨天发布的文章就没有更新。


3. 一览

一览是一款国内的 RSS 阅读器(免费版只支持系统提供的数据源),支持订阅微信公众号和知乎,还可以将文章推送至 Kindle, 有网页版和 APP 客户端。我再次测试了一下上面的三个公众号,很遗憾,只能搜到 Warfalcon,其他两个公众号都没有收录。在内容更新上,warfarcon 五月份发布的文章暂时没有更新。

4. RSS+Huginn

我在【干货】信息大爆炸时代,该如何高效阅读中就介绍过将微信公众号转化成 RSS 的方法,推荐了大家使用微广场,但是,最近微广场正式关闭,这个方法已经彻底失效,甚至,连微口网这种提供摘要型 RSS 的方法都已经失效了。我在网上重新搜索了一下,貌似还有今天看啥还在提供 RSS 服务,但好像也是个人提供的付费服务,不知道能坚持到什么时候。因此,为了应对这种情况,我不得不祭出大招 -Huginn,这也是我一直在推崇的方法,利用 Huginn 可以订阅一切网站的更新,当然也包括微信公众号,通过它,我们就可以将公众号变成 RSS,而且更新速度快,阅读体验只取决于你的 RSS 阅读器(RSS 阅读器的选择可依据你的喜好来)。

安装部署 Huginn 的方法请参见我前面的文章 -Huginn 安装教程—建立你自己的 IFTTT,更多安装部署方法可参见我们的 Huginn 中文网。如果你想更深入地了解 Huginn,请参见我之前的文章 - 使用 Huginn 打造自动化云端信息助手,或者来我们的论坛上进行交流。

下面我来详细说一下如何通过 Huginn 将微信公众号转化成 RSS,因为 Huginn 必须依托网页源才能制作 RSS,所以我们先要有获取微信公众号文章的网址,你可以使用已有的微信公众号聚合网站,比如,传送门启蒙,等等。但是,最全、更新最及时地莫过于搜狗微信,大部分聚合网站基本上也是通过爬搜狗微信获取公众号的全文,下面以将木西大神的木西 AlexanDENG 为例。

(1) 利用搜狗微信搜索想订阅的微信公众号


我们可以看到搜索获得的页面上就有最新文章的标题,我们只需要监控这个标题的变化就可以知道这个公众号有无更新,这里需要使用 Huginn 最常用的 Website Agent,具体选项如下:

{
  "expected_update_period_in_days": "2",
  "url": [
    "http://weixin.sogou.com/weixin?type=1&query=%E6%9C%A8%E8%A5%BF+AlexanDENG&ie=utf8&_sug_=n&_sug_type_=&w=01019900&sut=2064&sst0=1470553392399&lkt=0%2C0%2C0"
  ],
  "type": "html",
  "mode": "on_change",
  "extract": {
    "title": {
      "css": "#sogou_vr_11002301_box_0 > dl:nth-child(3) > dd > a",
      "value": ".//text()"
    }
  }
}
url 对应的是搜狗微信搜索微信公众号对应的搜索结果地址

(2) 获取最新文章对应的链接地址

在上面的 Agent,我并没有直接获取对应文章的链接地址,因为微信全文对应的链接地址不是永久地址,如果也放到上面的 Agent 中的话,会导致无效的触发,继续使用Website Agent,具体选项如下:

{
  "expected_update_period_in_days": "2",
  "url": [
    "http://weixin.sogou.com/weixin?type=1&query=%E6%9C%A8%E8%A5%BF+AlexanDENG&ie=utf8&_sug_=n&_sug_type_=&w=01019900&sut=2064&sst0=1470553392399&lkt=0%2C0%2C0"
  ],
  "type": "html",
  "mode": "all",
  "extract": {
    "url": {
      "css": "#sogou_vr_11002301_box_0 > dl:nth-child(3) > dd > a",
      "value": "@href"
    }
  }
  `

(3) 获取公众号文章的全文

在获得最新文章对应的链接地址后,就可以获取文章的全文,下面继续使用 Website Agent 解析获得文章的全文,具体的选项如下:

{
  "expected_update_period_in_days": "2",
  "url_from_event": "{{url}}",
  "type": "html",
  "mode": "merge",
  "extract": {
    "title": {
      "css": "#activity-name",
      "value": "."
    },
    "fulltext": {
      "css": "#js_content",
      "value": "."
    }
  }
}
url 对应的是上一个 Agent 获得的链接地址;mode 模式选择 merge,可以保留上一个 Agent 获得的 url 内容

(4) 输出 RSS

最后,只需要使用 Data Output Agent 输出 RSS 即可,具体设置如下:

{
  "secrets": [
    "weixin"
  ],
  "expected_receive_period_in_days": 2,
  "template": {
    "title": "订阅微信公众号(木西AlexanDENG)",
    "description": "将微信公众号(木西AlexanDENG)输出RSS",
    "item": {
      "title": "{{title}}",
      "description": "{{fulltext|regex_replace:'data-src','src'}}",
      "link": "{{url}}"
    }
  }
}
需要注意的是,公众号全文中的 Html 并非标准的 Html,要将其中的 data-src全部替换成 src,否则输出的 RSS 中图片无法正常显示


通过上面的设置,你就可以在你的 Data Output Agent 界面的 Summary 上获得对应的 RSS 地址,将这个 RSS 地址放进你的 RSS 阅读器吧!!!

如果你不想一步一步地进行设置,你可以直接把这个文件导入 Scenarios 中,即可获得木西 AlexanDENG 对应的 RSS 地址;你只需要将前两步中的 url 换成你想订阅的微信公众号在搜狗微信中对应的搜索结果地址即可

因为搜狗上有反爬虫机制,所以你的 Agent 的触发间隔最好长一点,像木西大神的这个公众号最多一天也就更新一篇文章,因此我就设置成了一天触发一次。如果你想将触发间隔设置短一些,又不会触发到反爬虫机制,你可以使用 Phantomjscloud 提供的 API,借助云端模拟浏览器进行爬取,这个方式是最棒的。最新版本的 Huginn 可以直接使用 Phantom Js Cloud Agent,老版本的 Huginn 可参见这篇教程 -Browser Emulation Using PhantomJs Cloud

5. 总结

总结一下上面提供的四种方法:

  • 即刻 APP:可更新几乎所有的微信公众号,更新速度快,即刻用户强推;
  • 轻芒阅读 APP:收录的微信公众号较多,更新速度一般,阅读体验好,可考虑使用;
  • 一览:主要收录了一些热门的微信公众号,不同公众号的更新速度不一样,可以推送到 Kindle 上阅读,Kindle 用户可以考虑一下;
  • RSS+Huginn:搜狗微信上有的公众号都可以制作成 RSS,更新速度可设置,阅读体验取决于使用的 RSS 阅读器,爱折腾的用户强推。

不知道上面这几种方法有没有适合你的,有任何不明白的或好的想法,随时欢迎与我交流。

--------------------------------------------------------------------------------------------------------------------------

其实,订阅微信公众号是非常麻烦的,在这里强烈推荐大家使用微广场,它提供微信公众号的全文RSS,免费用户可以订阅10个公众号,而且基本上热门的公众号都能找到;然后微口网也不错,上面的公众号也比较多,不过,它只提供摘要RSS;之前还有好多类似的服务,可惜好像都已经失效了,比如,狗耳朵微合网;还有一些聚合微信公众号的网站,比如传送门爱微帮,它们只提供在它们自己网站上订阅,不支持订阅RSS;最后,推荐一个开源应用RSS生成器(感谢得票最高的答主提供的这个开源应用),可以自己部署到云端,支持微信公众号 RSS 订阅,搜狗上能搜到的微信公众号都能通过这种方式订阅,有兴趣的可以试试。

最后的最后,在这里强烈推荐一款最全面的开源应用—Huginn,它的功能非常强大,不仅仅是能将任意网站变成RSS,还可以实现很多自定义功能,有点类似IFTTT。不过,需要自己将代码部署到云端,喜欢折腾的人可以去试试,官方教程很详细。想尝鲜的人也可以试试有人搭建好的Huginn网站,邀请码是try-huginn,烧制RSS的教程参见这篇文章—Huginn: 烧录 RSS 的神器。通过它,你可以将微口网提供的摘要RSS变成全文RSS,也可以将传送门或爱微帮上提供的公众号变成RSS,还可以将搜狗微信上提供的公众号变成RSS。

2015.07.19更新

在灵雀云上分享了一个已经搭好的RSS服务docker镜像,注册灵雀云后可以免费创建一个服务,通过我分享的镜像可以一键搭建自己的RSS服务,有需要的可以试试哦,大大降低了服务搭建门槛

浏览镜像

--------------------------------------------------------

2015.07.14更新

抱歉 微信公众号rss服务又一次500,量大了还是会被反爬虫,所以如果需要微信公众号rss可以用

@班瑞

提供的服务,或者自己探索一下,用我代码搭建一个,公用服务订阅量超过300的话就会被屏蔽,如果是自用应该不会订阅这么多

---------------------------------------------------------

2015.07.03更新

重构了代码,现在微信rss每天更新一次

---------------------------------------------------------

RSS Factory

自己写了一个,还行,因为是实时抓去网页所以有点慢,但是一般都是阅读器读取,问题不大

好像主页被墙了,可以直接

diy-devz.rhcloud.com/we

把最后的openid替换成想订阅的公众号openid即可

公众号openid可通过搜狗微信搜索获取

已开源,有兴趣可以参考,python tornado实现

zhu327/rss · GitHub