突然想到一种简单的反爬虫方法,大家觉得可行性如何?

2017-03-21 08:59:53 +08:00
 alwayshere

完全做到反爬虫肯定是个伪命题,反爬虫只能最大限度地去遏制,而不是杀绝,这几天一直在构思怎样将我辛辛苦苦的原创内容加以保护别被爬了,但杀爬虫杀得太猛把可爱的搜索引擎蜘蛛们也赶尽杀绝了,所以想了一种简单的方法:

  1. 把 header 包含有 bot 和 spider 的 ip 后台暂时放行,加入队列,后台 daemon 进程逐一验证其 host 地址是否为搜索引擎
  2. 验证客户端的 cookie ,我使用的是 Google analytics ,没有诸如“_ga ”或者“_gat ”之类的 cookie 把它 ban 了
  3. 在页面角落处插入一个隐形的动态图片: src="checkScraper.php" width="0" height="0",没加载这个图片的 ip 也给 ban 了

上面这个 ban 了不是指给他抛出一个 400 错误,而是逐渐延迟加载时间,让采集者不能发现, php: sleep($i),$i 表示请求次数

大家觉得是否可行,或者我在这抛砖引玉一下,除了通常的蜜罐法(烂大街了,我采集网站都是先看对方 robots.txt 有没有蜜罐),或者限制 ip 频率法(误伤蜘蛛),大家有没有更好的方法?

11294 次点击
所在节点    程序员
58 条回复
clino
2017-03-21 09:52:13 +08:00
@tabris17 但是这样对搜索引擎是不是就不友好了?
tabris17
2017-03-21 09:53:57 +08:00
@clino 可搜索引擎不就是一种爬虫么
firefox12
2017-03-21 09:54:06 +08:00
你用 css 这么复杂,你自己更新就很容易?其次你觉得你的网站有这么值钱的信息让爬虫这么感兴趣?如果真感兴趣,你这个手段也行?
nthhdy
2017-03-21 09:58:38 +08:00
@practicer 这个我也遇到了
我觉得去掉一些字和标点用处不大吧?
只是,自然语言处理它的时候,分句分词可能都出问题.
这个手段直接调最终的 DOM 接口就能把它还原出来.
clino
2017-03-21 09:59:53 +08:00
@tabris17 所以又防爬虫又对搜索引擎友好的就是不可能的
只有那种数据都不想被搜索到的网站可以用这种方式
qqpkat2
2017-03-21 10:01:22 +08:00
我有程序可以跟浏览器一样的访问网页,你这策略,跟没有一样
mudone
2017-03-21 10:02:37 +08:00
用 headless browser 采集 这些方法都不太管用。
phrack
2017-03-21 10:37:03 +08:00
攻防就是一个成本与收益的问题。

这些做法会增加爬虫成本,就看爬你网站的收益够不够覆盖成本了~

但是你这是一个个人站,原创内容,那肯定内容不多,就得看你这内容是不是真有料了。
uqf0663
2017-03-21 11:03:29 +08:00
那个...你知道 火车头浏览器 吗?
linescape
2017-03-21 11:13:48 +08:00
其实只要用户能看到的东西,就能采集起来,大不了你做成图片我来 OCR 识别嘛,至于什么封 IP ,验证 cookie 什么的,那就用真实浏览器+代理+脚本咯
zuotech
2017-03-21 11:36:04 +08:00
可以的, 把所有内容弄成动态加载...
dongoo
2017-03-21 12:02:10 +08:00
google analytics ,会被 adb 拦截
alwayshere
2017-03-21 12:05:32 +08:00
@dongoo 额。。。我的广告同样也被拦截了,我凭啥还让这个人访问我的网页??
byfar
2017-03-21 12:46:56 +08:00
朋友,留下你的原创内容地址 /奸笑
dsg001
2017-03-21 12:48:07 +08:00
@tabris17 猫眼的一些数据就是这种显示 https://jizhi.im/blog/post/maoyan-anti-crawler
byfar
2017-03-21 13:02:32 +08:00
@dsg001 图像识别什么的是很好玩啊,不过我还是觉得用他说的第一种方法比较快
jiangzhuo
2017-03-21 13:13:01 +08:00
@gamecreating 但是现在爬虫也用机器学习(主要是内容识别提取方面),将来机器学习人类浏览网站的习惯,模拟人类。最后演变成 AI 大战了。[doge]
practicer
2017-03-21 13:37:33 +08:00
@nthhdy 请教一下怎么还原?我采集就是用来分词的。谢谢哈。
JoyNeop
2017-03-21 13:47:51 +08:00
直接去搜索引擎拿快照,手动斜眼
stormpeach
2017-03-21 15:43:08 +08:00
又要支持搜索引擎,又要反爬虫,不是自相矛盾吗

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

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

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

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

© 2021 V2EX