首页 文章

如何在网络爬行期间保持网络礼貌(避免被禁止)?

提问于
浏览
1
  • 一个web-bot抓取您的网站并使用bandwdith资源 .

  • 机器人很多,用于许多目的,从自制,大学研究,刮板,新创业公司到已 Build 的搜索引擎(可能还有更多类别)

除了可能会将流量发送到网站的大型搜索引擎之外,为什么网站管理员还允许其他机器人立刻不知道?网站管理员允许这些机器人的动机是什么?

第二个问题是:

如果在Internet上具有多个抓取节点的分布式爬网程序,则为每个代理使用不同的User-Agent字符串,因为如果它们都使用相同的UA,则通过多个代理进行扩展的好处大大减少 . 由于设置了高爬网延迟的大型网站,可能需要数周或数月才能完全抓取 .

第3个问题:因为robots.txt(唯一定义的爬网控制方法)是在域级别 . 抓取工具是否应具有每个域或每个IP的礼貌政策(有时许多网站托管在同一IP上) .

如何解决这类网络恶意问题?还要记住其他相关的事情吗?

1 回答

  • 2
    • 除了搜索引擎机器人之外还有许多有用的机器人,并且有越来越多的搜索引擎 . 在任何情况下,您要阻止的机器人可能使用了不正确的用户代理字符串并忽略了您的robots.txt文件,那么您将如何阻止它们?一旦检测到它们就可以阻止某些IP层,但对于其他层则很难 .

    • 用户代理字符串与爬网率无关 . 数百万浏览器用户都使用相同的用户代理字符串 . 网站根据您的IP地址限制访问 . 如果您想更快地抓取他们的网站,您将需要更多代理,但实际上,您不应该这样做 - 您的抓取工具应该是礼貌的,并且应该慢慢地抓取每个单独的网站,同时在许多其他网站上取得进展 .

    • Crawler应该是每个域的礼貌 . 单个IP可以服务于许多不同的服务器,但对于来回传递数据包的路由器来说,这并不是一件容易的事 . 每个服务器都可能会限制您维护多个连接的能力以及可以消耗的带宽 . 还有一个由多个网站提供服务的IP地址场景(例如循环DNS或更智能的东西):有时像这样的网站上的带宽和连接限制将发生在路由器级别,所以再一次,每个域名礼貌 .

相关问题