RSS订阅

有时希望可以在阅读器上直接浏览关心的内容而无需通过浏览器访问网站,就会用到RSS订阅功能。

然而只有部分的网站的特定页面提供RSS订阅服务,因此我们可以使用一些服务提供商如:Feed43RSSHubFetchRss 等等,通过这些服务提供商,我们可以解析目标网页的html,选择想要的内容,生成RSS订阅链接。

但是,有一些网站如(澳洲论坛:https://forums.whirlpool.net.au)设置了反爬虫或其他网络安全机制,把上述的服务提供商的相关IP地址拉黑了,导致上述服务提供商不能正常访问(403 forbidden error)和解析目标网页的html。

为了解决这个问题,我们尝试用Python去绕过验证,但也请求失败。

最后我们发现一款阅读器(irreader【不是广告】可以正常访问并生成RSS订阅链接。在软件中直接点击“添加自定义的源”,输入网站地址,自定义选中需要订阅的内容,即可生成RSS链接,重点是完全免费!!!

相反,Feed43,RSSHub,FetchRSS 等服务网站,免费版都有只能看5条内容或更新周期很长之类的限制,想要更多功能都需要付费。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
观察者模式实现RSS订阅的具体代码如下: ```java import java.util.ArrayList; import java.util.List; // 抽象主题 interface Subject { void registerObserver(Observer observer); void removeObserver(Observer observer); void notifyObservers(String message); } // 具体主题 class RSSFeed implements Subject { private List<Observer> observers = new ArrayList<>(); private String latestNews; // 订阅 @Override public void registerObserver(Observer observer) { observers.add(observer); } // 取消订阅 @Override public void removeObserver(Observer observer) { observers.remove(observer); } // 通知观察者 @Override public void notifyObservers(String message) { for (Observer observer : observers) { observer.update(message); } } // 发布最新消息 public void publishNews(String news) { this.latestNews = news; notifyObservers(news); } } // 抽象观察者 interface Observer { void update(String message); } // 具体观察者 class Subscriber implements Observer { private String name; public Subscriber(String name) { this.name = name; } // 接收更新 @Override public void update(String message) { System.out.println("[" + name + "] 收到最新消息:" + message); } } // 测试类 public class ObserverPatternDemo { public static void main(String[] args) { RSSFeed rssFeed = new RSSFeed(); // 订阅者订阅 Subscriber subscriber1 = new Subscriber("张三"); Subscriber subscriber2 = new Subscriber("李四"); Subscriber subscriber3 = new Subscriber("王五"); rssFeed.registerObserver(subscriber1); rssFeed.registerObserver(subscriber2); rssFeed.registerObserver(subscriber3); // 发布最新消息 rssFeed.publishNews("中国队获得世界杯冠军!"); // 订阅者取消订阅 rssFeed.removeObserver(subscriber2); // 发布最新消息 rssFeed.publishNews("美国总统访问中国!"); // 新订阅者订阅 Subscriber subscriber4 = new Subscriber("赵六"); rssFeed.registerObserver(subscriber4); // 发布最新消息 rssFeed.publishNews("新冠疫苗研制成功!"); } } ``` 输出结果为: ``` [张三] 收到最新消息:中国队获得世界杯冠军! [李四] 收到最新消息:中国队获得世界杯冠军! [王五] 收到最新消息:中国队获得世界杯冠军! [张三] 收到最新消息:美国总统访问中国! [王五] 收到最新消息:美国总统访问中国! [赵六] 收到最新消息:新冠疫苗研制成功! [张三] 收到最新消息:新冠疫苗研制成功! [王五] 收到最新消息:新冠疫苗研制成功! ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谷粤狐

如果能解决您的问题,请打赏哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值