防止个人信息泄漏:对付爬虫的方法

一句话:用机器都不懂但人能读懂的“文字”。比如数字的话,可以使用编号、中文大写、或者符号的方法等等。

比如我的电话是:①⑤⑨②①⑤X马赛克X。

如果是电子邮件地址的话,可以用全角字符代替半角,或者交叉使用:比如我的电子邮件是flychina2008@gmail.com。这是最不影响阅读体验的“加密”方法,这样的话现在的爬虫就读不出来了。

不过因为现在的垃圾爬虫老外开发的多,如果这种方法流行了,或者有中国人参与进来,这个方法就要失效了(全角字符和半角字符有对应关系,所以可以通过“解码”将字符解读成真正的邮件地址)。

下面给一些元素,偷懒的话可以直接复制下来以后使用:

①②③④⑤⑥⑦⑧⑨⑩
⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇
⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛
1234567890

上面的一些还好,起码是个人都能瞧懂的,下面的是有中国特色的:
⊙㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩
一二三四五六七八九十〇
壹贰仨肆伍陆柒捌玖拾零

在下面给一些需要一点读图技巧的:
1:━┃
2:═║
3:╠
4:╬

0:〇○
1:?
2:∶
3:∴
4:∷

??? ЗбΟΖΗΑΟ
上面一行没有一个是数字或字母,是从希腊文等中找出的,如果不是UTF-8编码的话,并不适用于Universal的用户。

0:●
1:▕
2:〓
3:▲
4:█
5:★

当然,因为我电脑里没有火星输入法,不然可以找出更多好玩的符号。

需要强调的是,不必每位数字都“加密”,仅选择部分即可,因为我们只是为了防范网页爬虫的自动抓取,还是尽量避免读者思考,所以要给出明确的信息。比如电话的话,出现“十”,反应快的读者可以马上将十理解为“0”。但是,为了不影响作者要传达给读者的信息,还是标注一下为好。这种标注最多可以出现一次,多了就过分增加了读者学习的成本,会影响阅读体验。

如果是在联系人页面上需要大批量使用,可以编一段小程序,由系统在“加密”字库中随机选择字符串。这样就可以真正避免垃圾爬虫的抓取了。比起现在流行的生成图片的方式,无论在程序执行的效率上还是网页读取的流畅度上都是个优化的选择。而且对于前端开发人员来说,少了一个长短不等的图片,减少了一个不确定性因素,相信会减轻很多工作量。


已发布

分类

来自

标签: