当前位置:  开发笔记 > 编程语言 > 正文

如何制作一个消耗大约500个RSS并在数据库中保存新项目的Web服务?

如何解决《如何制作一个消耗大约500个RSS并在数据库中保存新项目的Web服务?》经验,为你挑选了1个好方法。

我有一个项目,我需要提供一个服务,我们将为它添加约500个不同网站的RSS,我们希望这项服务从这些来源收集新的RSS源,并在我的SQL Server数据库中保存标题和URL.

如何确定最佳架构设计,以及哪些代码可以帮助我?



1> Julien Genes..:

这些指示并非特定于您的堆栈(c#,asp.net),但我绝对不建议您在Web应用程序的请求 - 响应周期中执行任何操作.它必须以异步方式完成,但可以从使用提要条目填充的数据库中提供结果.

    您可能需要构建一个每X分钟轮询一次Feed的架构 .无论是使用cron作业还是持续运行的守护进程,您都必须一个接一个地轮询每个feed(或者使用某种并发,但设计是相同的).请使用Etags和If-Modified 之类的HTTP标头来避免轮询尚未更新的数据.

    然后,您需要自己解析Feed.你很可能必须支持 不同风格的RSS和Atom,但大多数解析器实际上都支持这两种风格.

    最后,您必须存储条目,更重要的是,在插入条目之前,请确保您尚未添加它们.您应该使用the idguid for条目,但是您可能也必须使用自己的系统(链接,哈希...),因为许多提要没有这些.

如果您希望减少必须执行的轮询量,同时仍保持及时的结果,则必须为支持它的源实现PubSubHubbub.

如果您不想处理之前暴露的众多问题(及时调查,解析内容,差异以保持条目的唯一性......),我建议使用Superfeedr,因为它处理所有的痛点.

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有