如果我将其设置为display: none
,是否可以防止垃圾邮件机器人在我的电子邮件地址上爬行?如果你愿意的话,我有一个小游戏的想法,用户点击电子邮件的链接,然后它会显示一两个"你确定你不是机器人吗"之类的问题。一旦回答了这些问题,它就会显示真实的链接。
问题是,我假设机器人可以看到链接,因为它显然存在于HTML中,即使它不可见。有办法绕过这个吗?
此外,我希望这些问题逐渐消失,但据我所知,CSS3转换不支持显示或可见性属性。我会求助于jQuery吗?如果是这样的话,有人能告诉我在从display: none
切换到display: block
时,元素中的衰落的替代方案吗?
否,display: none
无法工作。
解决这一问题的唯一真正方法是不在HTML中使用它。例如,将其制作成图像,或者使用JavaScript将其解扰为单独的元素,这些元素可以完全(单独)放置,以供浏览器的人类查看器正确查看。
请注意,如果你走图像路线,垃圾邮件机器人当然可以读取图像,所以也许你应该用一些随机图像来模糊它,比如好的旧captchas。
关于CSS3不支持visibility
/display
,你是对的,但无论你决定如何显示你的电子邮件地址,你都可以使用opacity属性来淡化的内容。CSS3转换完全支持opacity
。
大多数爬网程序分析页面的标记,而不是视觉呈现版本。使用CCD_ 8效果甚微。
此外,您不需要使用jQuery来获得渐变效果。设置不透明度,然后使用以下方法将很好地工作:
-webkit-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
您可能想要实现一个联系人表单,而不是显示电子邮件地址。您可以使用captcha或一些蜜罐方法来保护该表单。此外,您可以使用Javascript呈现表单,因为许多机器人不会运行Javascript(我希望如此)。