分享

使用Huginn批量订阅微信公众号

 godgame 2020-05-12

今天给大家安利一个神器——Huginn,这是一个开源项目:英文官网地址,中文社区地址.

!homepage

我要介绍的是其中的一个功能:抓取网页信息并输出为RSS订阅源。之所以使用这个工具,是因为在手机上阅读微信公众号上的体验太差了。而且我始终认为手机是一个娱乐+通讯工具,而不是生产力工具。为了提高效率,对于一些干货较多的信息,应该在电脑上阅读(而且对视力好一些),所以就开始寻找有没有一个好的办法来在电脑上阅读微信公众号上的文章。其实在前两年,是有一些工具可以将微信公众号转换为RSS订阅源或者是邮件的,但截至目前,无一例外都失效了,因此,只能自己动手,丰衣足食了。

首先,在使用Huginn之前,我们应该先学会安装Huginn。一般情况下,我们需要把Huginn部署在服务器上。在选择服务器时,我们可以选择免费的heroku,或者是自己租用一个VPS。这在里,我推荐使用VPS,免费的heroku有很多限制,使用体验较差,而且月租的VPS并不贵,一顿饭钱而已。我选择的是VPS,因此,接下来的教程都是以VPS为基础的,请见谅(heroku的免费版体验真的不好,而收费版的heroku太贵了)。
租用的VPS的运行内存最好大于1G,否则跑起来很吃力,有时可能会停止运行

Huginn安装教程

首先,我们先连接租用的VPS,连接VPS需要用到的软件是Xshell,下载安装好Xshell后,点击新建,在主机地址那里填入你的VPS的主机IP,端口号一般都是22,基本不用改。

newfound

输入完主机IP后,点击左侧的用户身份验证,在用户名的位置填入root,在密码处填入你的VPS的root密码(一般情况下,密码会在你的VPS管理界面或者VPS服务商给你发的电子邮件中,也有可能在你购买VPS的过程中让你自行填写,忘记密码也没关系,在VPS管理页面可以重置密码)。

login

点击连接就可以了,第一次连接,会弹出一个窗口,问你是否保存密钥,点击保存就好。连接后的界面如下。

remote

连接后的第一件事,就是先更新系统。

apt-get update

apt-get upgrade

然后安装docker(使用docker安装Huginn是最方便的一种方法,如果想在VPS上直接安装Huginn,可以参考其中文社区,步骤挺详细的)

apt-get install docker

安装Huginn镜像

docker run -it -p 3000:3000 huginn/huginn

Huginn的使用教程

第一部分 搜索获取微信公众号地址和标题

这时,Huginn就安装好了,是不是很傻瓜式的安装?接下来,我们打开浏览器,在网址那一栏输入

http://主机IP:3000

其中主机IP就是你租用的VPS的IP地址。点击转到该网址后,界面如下。选择Login in,默认的用户名为admin,密码为password。登陆就可以。

Hlogin

登录之后,点击Scenarios,再点击New Scenarios,在Name处填上名字(随便起,你开心就好),其余的不用管,点击Save Scenarios。

Scenarios

New

点击进入刚刚你创建的Scenarios,点击New Agent,开始创建,在Type里面选择WebSite Agent,界面如下,按照下图所示的内容填写就行,url部分的格式是:http://weixin.sogou.com/weixin?query=微信号。
注意是微信号,而不是公众号的名字,比如泽平宏观是公众号的名字,其微信号是zeipinghongguan

step_1

step_2

link和title里面的Xpath是一样的,获取Xpath需要你自己的微信号对应的地址,获取方法如下。以待字闺中的微信公众号为例,在搜狗里搜索后的结果如下所示。

searchfor

将光标移到最近文章,鼠标右键,点击检查,在蓝色背景区域鼠标右键,点击COPY,再点击里面的COPY Xpath就得到了这个微信公众号的Xpath地址了(企业号和个人好的Xpath地址不一样,自己想办法去解决这个问题,如果懒得解决,我会把我做好的Scenarios下载地址放在文章最后,自己下载上传后把我里面的公众号改成自己的就行)。

inspect

这样,第一部分,也就是最难的这一部分已经做好了。其实,这一部分最难的就是Xpath地址的确定,因为不同的公众号的Xpath可能不一样。

第二部分 去除重复

为了节省我们的时间和减少VPS资源的占用,我们需要剔除重复的文章。这一部分的创建过程和第一部分一样,在TYPE里面选择 DeDuplicationAgent,Name自己看着填,在Sources里面点击选择你刚刚创建的那个Agent,在Property里面填入{{title}},在Lookback里面填入0,在Expected update period in days里面填入20.点击save,第二部分就创建好了。

第三部分,输出为RSS订阅源

首先也是选择TYPE,选择DataOutputAgent这个类型,sources里点击选择第二部创建的Agent.在Options这一部分按照下图的内容填入就好。

opt

以上三步,就是创建RSS订阅源的整个过程了,其实并不麻烦。回到Agent界面,点击第一步的Agent的Action,点击run,过一会儿,这三个agent就依次开始运行了(如果working状态还是no,就多点击run几次,直到working为yes)。

运行成功之后,在Agent界面,点击第三步创建的Agent,会出现下图这个界面,以xml为后缀的网址就是RSS订阅源,自己找一个RSS阅读器就可以订阅了。

Rss

这里,我推荐大家试一下NewsBlur,功能够用且免费,就是界面有点乱,但是该网站更新较快,有的RSS阅读器抓取的太慢了,我自己的订阅界面如下所示。

sub

文章的最后,附上我自己做的Scenarios,下载完成后,直接在Scenarios界面上传就行,再把里面我关注的公众号改成你自己想订阅的就可以了。在这里插入图片描述

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多