比方说,我想成为一名知情、积极参与的当地公民。比如说,我的镇上有一个网站,他们在那里发布我可能关心的本地更新和警报。
具体来说,假设几天前总水管破裂,导致镇上所有人都被要求烧开水,我想知道烧开水的建议何时结束。
当然,信息就在他们的网站上,所以一个选择是整天重新加载网站,然后等待弹出警报:
但是,如果我的目标和愿望是以程序化的方式访问这些信息,该怎么办?比如说RSS,这项技术长期以来允许网站以其他网站和软件可以阅读的格式彼此共享信息?
一旦我有了它,我可以在新闻阅读器中阅读警报,我可以让它通过管道传输到一个松弛或不和谐的频道,我可以在我的电脑桌面上显示一个小通知,使用IFTTT或Zapier或任何对我最有用的工具使灯闪烁。这些步骤将是:
但该镇在其网站上不提供RSS提要。不是警报,不是常规的社区新闻,什么都没有。(更糟糕的是,它是由网络软件驱动的,似乎旨在帮助较小的城镇和城市拥有网络存在,所以我们知道这个缺失的功能现在正在世界各地的社区中重复!)
我可以刮取网站的源代码,并尝试解析出我关心的信息。这是一个非常可行的选择,但也往往有点脆弱和混乱。
网站源代码可以改变结构,或者进入警报的人可以决定使用一些新的HTML标记,或者网络主机可以决定你的抓取机器人是一个讨厌的东西并阻止它,等等。你最终可能会花费数小时来创建和维护这样一个工具。
那么,还有其他选择吗?此网站工具是否有其他方式提供警报信息?
这总比什么都没有好,因为它允许个人(在识别出各种船只和交通灯后)以至少某种可用的格式获取信息,而不需要整天刷新网站。
但它仍然将信息锁在我的电子邮件收件箱中,并使其受制于如今电子邮件传递的脆弱性;镇上的邮件服务器是否可以发送邮件?我的电子邮件提供商会认为这是垃圾邮件吗?我能及时看到这些信息吗?
所以为了好玩,我想看看需要多少步骤才能将这些警报中包含的信息转换成可用的RSS提要。
创建一个专用的电子邮件帐户,我将用于这个实验。获取其IMAP设置。关闭垃圾邮件过滤。(仅限一次。)
设置并配置WordPress插件,从IMAP收件箱检索电子邮件,并将内容转换为WordPress帖子。(仅限一次。)
创建自定义WordPress插件,根据发件人电子邮件地址将新创建的帖子分配到特定类别。(仅限一次。)
WordPress类别的RSS提要在/category/feed/URI上可用(因为WordPress本机支持帖子、类别、标签等的RSS提要)
我的订阅源阅读客户端偶尔会检索RSS订阅源,以便对其进行处理。
(如果你对这个设置的具体技术细节感到好奇,我会分别在博客上发表。)
所有这些步骤。考虑到RSS标准的成熟程度,以及在每种主要编程语言中,实现RSS标准的库和示例是如何被多次使用的,仅仅为了创建与该镇网站的创建者可以添加的功能相同的功能,而现在这是一项微不足道的工作。
这太荒谬了。它还展示了当网站建设者记住包含RSS时,RSS的强大功能。它可以节省多少时间,以及它可以实现多少额外的应用程序和集成。
如果您是一名网络开发人员,或者您在任何方面负责以供他人使用的方式将信息放到网上,
确保包含一个简单的RSS提要,以及用户发现它的方式。
你的用户会感谢你的。其他开发者会感谢你的。开放网络会感谢你的。