2009-10-23 91 views
0

我正在为Ruby编写一个爬网程序,并且我想要承认服务器发出的头文件以使爬网更有效。在Ruby中确定页面是否需要由客户端重新下载的方式有一个简单的方法吗?我知道我需要考虑至少这些标题:检查网页是否被修改/已过期用Ruby

  • 最后修改
  • ETag时
  • 缓存控制
  • 过期

什么是确定如此明确的方式 - 是地方指定?

回答

1

你说得对,你需要看一下头,但你需要考虑的是,服务器是什么设置这些。如果它们设置正确,那么你可以使用它们来做出决定,但它们都不是必需的。

就我个人而言,我可能会开始追踪expires的值,因为我在做初始下载时,以及记录etag。最后,我会看看最后一次修改,就像我做了下一步,假设过期或etag显示了一些信号,表明我可能需要重新下载(或者如果它们甚至没有设置)。我不希望缓存控制是有用的。