网页抓取时需要考虑 DNS 缓存吗?

问题描述 投票:0回答:1

我想知道,如果我每隔几秒抓取一个网站,DNS 缓存是否需要设置以避免大量 DNS 查找,或者是自动完成的?

实际示例:我有一个脚本,每隔几秒钟检查一次市场上的新产品。假设市场域名是 marketketpalce.com。为了将该域转换为 IP,会向 DNS 服务器发送 DNS 查找。为了避免每次抓取 martketpalce.com 时都发送 DNS 查找,我是否应该做一些特别的事情?

谢谢你

web-scraping dns
1个回答
0
投票

简短的回答是:是的。

我起草了这个答案的几个版本,但有一个根本原因:

您应该控制抓取器的网络行为,以确保加载一致且可靠。如果不实现这一点,抓取会话的正确操作将在现实世界中崩溃。

简短但不完整的列表:

  1. 您的实用程序(如果您调用
    curl
    wget
    )可能会缓存(或更糟糕的是,可能不会)。
  2. 您的操作系统可能有未记录的设置或中间件(
    nscd
    有人吗?)
  3. 您可能在不同的系统上有(或没有)本地缓存 DNS。向 Microsoft 询问其 Windows DNS 缓存的详细完整历史记录。
  4. 如果将该工具从一个系统移动到另一个系统,您可能会有不同的 DNS 配置。
  5. 您可能有各种“透明”代理或负载平衡。
  6. 您的库可能会缓存 DNS,但性能会因负载、池限制或较差的错误处理等而有所不同。
  7. 你有一些同样令人恼火的事情我还没有提到。
© www.soinside.com 2019 - 2024. All rights reserved.