【发布时间】:2018-12-09 05:21:05
【问题描述】:
当我们的网页被许多客户抓取时,我们的服务器承受着巨大的压力。有时我们的网页会从许多不同的 IP 地址中抓取,这些 IP 地址不属于 Google、Bing 等一些著名的蜘蛛。所以我们基于IP地址的防御策略是没有用的。我们希望我们的某些网页能够被正常蜘蛛以适当的频率抓取,但我们反对任何可能对我们的服务器造成损害的人。缓存可能是一种选择。但是我们有很多用于 seo 的 url。例如,我们有一些具有“https://www.xxxx.com/hot-goods/mobile-phone-1.html”模式的网址。此页面显示有关手机的产品列表。单个搜索词的搜索结果有数千页。所以缓存的命中率可能不是很高。所以我只是想知道是否有任何其他解决方案可以减轻我们服务器的压力。
【问题讨论】:
-
你想首先允许抓取吗?我要做的第一件事是通过用户代理阻止最严重的违规者
-
@Joni 我不想让非蜘蛛客户抓取。基于用户代理的策略不是一个好的解决方案,因为它可以被很多http客户端工具修改。
-
可能使用验证码会对您有所帮助。有关更多详细信息,请参阅此stackoverflow.com/questions/3161548/…。它还提到了一些您可以使用的验证码服务。 (无需构建)
标签: java web caching architecture web-crawler