2021年4月22日星期四

微博转换RSS功能

  之前一直在用新浪微博的API进行数据同步操作,今年年初大概是1月8日的时候,微博的API不知道什么原因突然无法使用了,接口调用一直出现403错误,私信联系“微博开发平台”也一直是机器回复。

  因此我估计是新浪微博将其API关闭了,猜想可能是因为微博盈利太难,所以就学习腾讯,把数据都封闭起来好多赚钱。

  然而,我自己在微博发布了很多数据,但微博至今连数据备份都不提供,因此我这里还是需要另找办法来进行数据同步和备份的操作,于是想用微博转化RSS的方法进行数据导出。

  我在11年前自己曾做过一个PHP的微博转化RSS的项目,但时间太久了,里面的数据结构已经完全变了,无法使用了,于是我就在网上搜了一下,看看有没有现成的项目,结果发现github上有一个weibo-rss的项目可以用,不过其部署用的是Node.js,是我之前没用过的。

  我在国外购买的云服务器,使用的是LNMP(Linux-Nginx-MySQL-PHP)环境,Web服务器是Nginx,小巧稳定,占用资源很少,让一个低配服务器就能做一个动态网站。我就试着将这个Node.js项目部署到这个服务器上。

  服务器没安装Node.js,因此需要先安装环境,面板里有个“PM2管理器”,就是一个node.js管理器,里面内置了node.js + npm + nvm + pm2,可以一键安装。

  安装好了环境之后,按照项目说明开始手动部署。


git clone https://github.com/zgq354/weibo-rss.git
cd weibo-rss
npm install
pm2 start bin/www


  按照之前部署php的思路,将其部署到wwwroot下的一个目录,从网页访问后,页面能出来,但是获取RSS提示“获取数据失败”。

  后来咨询了一下项目作者,才知道原来这个项目部署到了3000端口,不是部署到Nginx的80和443端口,我用3000端口的地址访问,就能正常获取数据。

  当然,最终我还是希望能在Nginx下使用,在Nginx里设置一个反向代理,将一个目录映射3000端口,即可实现在80和443端口访问这个Node.js项目了。