Web scraping 这种防刮技术是否适用于Robots.txt爬行延迟?

Web scraping 这种防刮技术是否适用于Robots.txt爬行延迟?,web-scraping,web-crawler,robots.txt,Web Scraping,Web Crawler,Robots.txt,我想防止网络爬虫在我的网站上猛烈地刮1000000页。我想通过返回“503服务不可用”HTTP错误代码给每分钟访问异常页数的机器人程序来实现这一点。我没有遇到表格垃圾邮件发送者的问题,只是遇到了刮刀 我不希望搜索引擎蜘蛛收到这个错误。我倾向于设置robots.txt爬行延迟,以确保爬行器在我的503阈值下每分钟访问一定数量的页面 这是一个可以接受的解决方案吗?所有主要的搜索引擎都支持爬网延迟指令吗?它会对搜索引擎优化产生负面影响吗?还有其他的解决方案或建议吗?我已经建立了一些刮板,而花费最长时间

我想防止网络爬虫在我的网站上猛烈地刮1000000页。我想通过返回“503服务不可用”HTTP错误代码给每分钟访问异常页数的机器人程序来实现这一点。我没有遇到表格垃圾邮件发送者的问题,只是遇到了刮刀

我不希望搜索引擎蜘蛛收到这个错误。我倾向于设置robots.txt爬行延迟,以确保爬行器在我的503阈值下每分钟访问一定数量的页面


这是一个可以接受的解决方案吗?所有主要的搜索引擎都支持爬网延迟指令吗?它会对搜索引擎优化产生负面影响吗?还有其他的解决方案或建议吗?

我已经建立了一些刮板,而花费最长时间的部分是一直试图弄清楚站点布局应该刮板什么,不应该刮板什么。我可以告诉你们的是,改变div和内部布局将对所有刮刀造成破坏。就像混乱的头脑已经指出的那样

因此,这里有一段文字供您参考:

速率限制
对IP进行分级限制意味着在阻止IP之前,您只允许IP在固定时间段内进行一定数量的搜索。这似乎是防止最严重犯罪的可靠方法,但事实并非如此。问题是,您的大部分用户可能通过代理服务器或大型公司网关访问,而这些用户通常与数千名其他用户共享。如果您对代理的IP进行限制,那么当代理的不同用户使用您的站点时,该限制将很容易触发。仁慈的机器人也可能以比正常更高的速度运行,触发你的极限

一种解决方案当然是使用白名单,但问题是,由于IP地址会随着时间的推移而变化,因此您需要不断手动编译和维护这些列表。不用说,一旦数据搜集者意识到你对某些地址进行了速率限制,他们只会降低速率或通过更多的IP:s分发搜索

为了使速率限制对网站的大用户有效,而不是禁止,我们通常建议在阻止他们之前调查所有超过速率限制的人。

验证码测试
验证码测试是阻止网站抓取的常用方法。这个想法是让一个图片显示一些文字和数字,机器无法阅读,但人类可以(见图)。这种方法有两个明显的缺点。首先,如果用户必须填写多个验证码,那么验证码测试可能会让他们感到恼火。其次,web scraper可以轻松地手动执行测试,然后让脚本运行。除此之外,验证码测试的几个大用户的实现也受到了影响。 混淆源代码

一些解决方案试图混淆http源代码,使机器难以读取。这种方法的问题在于,如果web浏览器能够理解模糊代码,那么任何其他程序都可以理解。混淆源代码也可能会干扰搜索引擎如何看待和处理您的网站。如果你决定实施这个,你应该非常小心。

黑名单

由IP:s组成的黑名单已知会刮取站点本身并不是一种真正的方法,因为您仍然需要首先检测刮取者才能将其列入黑名单。尽管如此,它仍然是一个钝武器,因为IP:s往往会随着时间的推移而变化。最终,您将使用此方法阻止合法用户。如果你仍然决定实施黑名单,你应该有一个至少每月审查一次的程序

为什么不不时更换div和tag呢?这样可以避免你被大量的报废,因为它们会崩溃…?@confusedMind我可以这样做,但每个月都需要额外的工作。我希望仅仅阻止或减缓它们就足以起到威慑作用。似乎没有完美的解决方案来解决这个问题。这是一个可怕的耻辱,但我们仍然必须作为开发人员处理一些事情。谢谢你的意见,卡尔。