首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网站内容定期更新的模式?

网站内容定期更新的模式?
EN

Stack Overflow用户
提问于 2010-07-20 08:27:01
回答 1查看 256关注 0票数 0

我经常发现自己在设计简单的小web项目,这些项目提供聚合内容或进行“mashup”。通常,这需要运行一个脚本来周期性地抓取/解析/操作一些数据,然后将其作为“静态”内容提供。

我将“刷新”脚本作为cron作业运行,该作业生成提供给最终用户的HTML。内容不会经常更改,所以我通常可以每小时运行一次cron作业。

有没有更好的方法来做这件事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-20 09:03:15

如果你对它现在的工作方式感到满意,我不会做任何改变。这是一个杂乱无章的东西,但却是一个功能性的东西。但我猜你并不完全满意(否则你就不会问了),所以下面是一个更具体的答案。

一个基本的升级是编写一个脚本,该脚本轮询mashup源代码并动态生成HTML。mashup源可以是任何东西,从远程web服务器,到本地文件,再到本地数据库--任何你可以在代码中“连接”到的东西。基本步骤如下:

  1. 从每个源检索信息,对其进行programmatically.
  2. Parse,并根据需要对其进行转换,丢弃不需要的位,可能还会重新格式化某些部分,如日期格式等。
  3. 将转换后的信息的所有不同位注入到HTML结构中,并将其输出到客户端。

1&2听起来基本上就像你已经在做的事情。只有#3是缺失的一环。基本上,您希望动态生成输出,而不是预先生成并发送静态HTML。

适合这类事情的语言包括PHP、Perl、Ruby、Python和其他语言;您可以随意选择。

进一步的优化-按照你可能想要做的顺序-包括:

  1. 缓存源数据。不是在每次页面加载时轮询源代码,而是在第一次轮询它们,将响应保存到文件或数据库,并在每次后续页面加载时检查响应的时间戳,看看它是否仍然是“新的”。如果是这样的话,你可以发送本地缓存的副本,通常是大量的性能improvement.
  2. Asynchronously加载源数据,这样加载时间就变成了最慢的源,而不是所有sources.
  3. Sending的总和立即离开HTML页面,然后通过单独的AJAX调用加载每个源,例如,在各自的div中显示每个源。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3286126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档