后端把文字以 Unicode 输出,然后在通过 JavaScript 显示能不能防止一般爬虫?

2014-11-10 08:57:38 +08:00
 Kaiyuan

例如我想显示的文字是 「一个友好的社区」
输出的字符串是 \u4e00\u4e2a\u53cb\u597d\u7684\u793e\u533a 然后是通过 js

document.write('\u4e00\u4e2a\u53cb\u597d\u7684\u793e\u533a');

如果可以一些相对敏感的字符是不是可以这样另类的「加密」?

当然,一些爬虫会自动转换就另一回事。

2279 次点击
所在节点    问与答
4 条回复
hjc4869
2014-11-10 09:02:07 +08:00
防止爬虫直接用ember.js之类的web app框架不就行了……
HTML里不出现数据,全部用js写上去,思路是一样的。
这样的话爬虫需要模拟浏览器执行js,成本就超大了。
abelyao
2014-11-10 09:21:38 +08:00
@hjc4869 于是一般我就找出 load js 的规律,然后直接爬 ajax 的地址了…
楼主那个还指望加密啊… 任何一个语言都能 decode 回来啊
Kaiyuan
2014-11-10 09:25:54 +08:00
@abelyao 我想法初衷不是全文以 Unicode 输出,是针对电邮地址和手机号码这类字符啊。
abelyao
2014-11-10 09:27:32 +08:00
@Kaiyuan 应该也是一个思路,可以试试看,不过 email 的爬虫应该早就能识别出这些了吧,连 # 这些隐晦替代符号都能抓了…

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/145243

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX