发布邮件地址时用「#」「at」等替代「@」对于防垃圾邮件真的有作用吗?


知乎上看到的,有点意思就转过来啦。 ————————————————————————————

看得出来题主很有想法也很聪明,但 too simple。我来贡献点干货,回答楼主问题之后介绍几种常见的邮件隐藏方法。

在见到真实世界数据之前,你臆想一个依靠“gmail”关键字就可以准确抓取一个邮件地址,在面对真实世界各种noise文本的时候,相信你会像曾经的我一样流下绝望的眼泪。

小时候上课的时候,曾经上一门NLP机器学习课程,本来重点是机器学习算法分析,可以选择学术界很多现成的数据集上做实验。不过当时还天真无邪的我毅然选择自己爬数据,结果见到爬下来的真实文本让我欲哭无泪,我花了整个项目将近一半的时间精力去把noise的数据洗干净。

============== 回到正题

【1】 这样替代方法总是可以防止一部分爬虫的,再简单的防护方法也比没有好。要记住,爬虫的目的不是爬你这个网址,它的目标是尽可能多的捕获到email address。一般是靠正则表达式。[dot]容易被抓出来,那就总可以吧?不行我<<DOT!!!>>总行吧?你来抓我呀~

爬虫作者永远无法提出一个完美的解决方案去预想捕获所有的情况,行话叫做recall太低。你想要一个十全十美的系统不是不可以,这样成倍的成本投入是否能够换来相应的回报呢?

【2】 顺便按照惯例,分析过问题之后贡献一点干货:如何隐藏自己的电子邮件地址?

a) FirstName.LastName@XXX.com 这种方式一般常见于bio简历页面

b) 把email做成图片

c) HTML源代码迷惑方法,比如

yourname@yourdomain.com yourname@yourdomain.com.d) 用javascript

参见:5 ways to hide your email from those accursed spammers

【3】 以及,有一个研究( http:// techblog.tilllate.com/2 008/07/20/ten-methods-to-obfuscate-e-mail-addresses-compared/ )对比了9种隐藏邮件的方法( http:// ch.tilllate.com/061101_ emailtest.php ),包括上面提到的几种方法,以及一些CSS的tricks。可以看到用ATs和DOTs的效果惊人的好。

— 完 —