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

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


当前回答

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

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

通常会有帮助的事情:

每周改变你的布局 robots . txt

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

验证码

其他回答

不,不可能停止(以任何方式) 拥抱它。为什么不发布为RDFa,成为超级搜索引擎友好,并鼓励重复使用数据?人们会感谢你,并在适当的时候提供信用(以musicbrainz为例)。

这可能不是你想要的答案,但为什么要隐藏你想要公开的东西呢?

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

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

通常会有帮助的事情:

每周改变你的布局 robots . txt

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

验证码

我假定您已经设置了robots.txt。

正如其他人所提到的,刮刮器可以伪造其活动的几乎每个方面,并且可能很难识别来自坏人的请求。

我会考虑:

建立一个页面/jail.html。 禁止访问robots.txt中的页面(因此尊敬的蜘蛛永远不会访问)。 在你的一个页面上放置一个链接,用CSS隐藏它(display: none)。 记录访问者的IP地址到/jail.html。

这可以帮助您快速识别来自scraper的请求,这些请求公然无视您的robots.txt。

你可能还想让你的/jail.html成为一个完整的网站,它拥有与正常页面相同的标记,但是使用假数据(/jail/album/63ajdka, /jail/track/3aads8等)。这样,在你有机会完全阻止它们之前,糟糕的抓取程序不会被提醒“异常输入”。

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

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

苏' em。

说正经的:如果你有钱,就找个懂网络的年轻律师谈谈。你真的可以在这里有所作为。根据网站所在地的不同,你可以让律师在你的国家写一份终止协议或类似的文件。你至少能吓到那些混蛋。

记录插入的虚拟值。插入明确(但模糊)指向你的虚拟值。我认为这是电话簿公司的普遍做法,在德国,我想已经有几个例子,抄袭者通过1:1复制的虚假条目被破获。

如果这将导致您弄乱HTML代码,拖低SEO,有效性和其他事情,那将是一种耻辱(即使一个模板系统在对相同页面的每个请求使用略微不同的HTML结构可能已经帮助了很多抓取程序,总是依赖HTML结构和类/ID名称来获取内容)。

这类案件正是版权法所擅长的。剽窃别人的诚实工作来赚钱是你应该能够反对的事情。