我有一个相当大的音乐网站,有一个很大的艺术家数据库。我一直注意到其他音乐网站在窃取我们网站的数据(我在这里和那里输入假艺人的名字,然后进行谷歌搜索)。

如何防止屏幕刮擦?这可能吗?


当前回答

大多数已经说过了,但是你考虑过CloudFlare的保护吗?我的意思是:

其他公司可能也这么做,CloudFlare是我知道的唯一一家。

我很确定这会使他们的工作复杂化。我还曾经因为速率限制而试图废弃一个受CloudFlare保护的网站的数据(我使用了简单的AJAX请求循环),导致IP被自动禁用了4个月。

其他回答

可能对初学者不利的事情:

IP封锁 大量使用ajax 检查引用请求头 需要登录

通常会有帮助的事情:

每周改变你的布局 robots . txt

有帮助但会让你的用户讨厌你的东西:

验证码

提供一个XML API来访问您的数据;以一种易于使用的方式。如果人们想要你的数据,他们就会得到,你不妨全力以赴。

通过这种方式,您可以以有效的方式提供功能子集,至少确保刮刮器不会消耗HTTP请求和大量带宽。

然后,您所要做的就是说服想要您的数据的人使用API。;)

大多数已经说过了,但是你考虑过CloudFlare的保护吗?我的意思是:

其他公司可能也这么做,CloudFlare是我知道的唯一一家。

我很确定这会使他们的工作复杂化。我还曾经因为速率限制而试图废弃一个受CloudFlare保护的网站的数据(我使用了简单的AJAX请求循环),导致IP被自动禁用了4个月。

屏幕抓取器通过处理HTML来工作。如果他们决定要获取你的数据,从技术上讲你也无能为力,因为人的眼球可以处理任何东西。法律上已经指出,你可能有一些追索权,这是我的建议。

但是,您可以通过使用非基于html的表示逻辑来隐藏数据的关键部分

为每个艺术家/专辑等生成一个Flash文件。 为每个艺术家内容生成一个图像。也许只是一个艺术家名字的图像,等等就足够了。通过将文本呈现到服务器上的JPEG/PNG文件并链接到该图像来实现这一点。

请记住,这可能会影响你的搜索排名。

与其将机器人列入黑名单,不如将它们列入白名单。如果你不想让你的搜索结果失去前几个引擎,你可以把他们的用户代理字符串列入白名单,这通常是广为人知的。不那么道德的机器人倾向于伪造流行网络浏览器的用户代理字符串。排名靠前的几个搜索引擎应该会为你带来95%以上的流量。

识别机器人本身应该是相当简单的,使用其他帖子建议的技术。