大家都怎么防采集的?哪一种性能最高?

2017-05-18 19:49:39 +08:00
 tianxiacangshen
有不少站都有防采集,一般是 IP 和 cookie,还有 session (会员)

1、从 IP 入手一般限制某个时间段内访问的最多次数,超过则出现验证码,弊端是每次访问都要检测该 ip 的访问次数和执行判断

2、从 cookie 入手,较为简单,但是显然防守能力很差

3、从会员入手,页面只有会员才能访问(或者超过多少页面就必须会员才能访问),一个会员一天只能访问多少次,弊端也很明显

有没有更佳的方法?
6264 次点击
所在节点    PHP
44 条回复
metowolf
2017-05-18 20:47:52 +08:00
对特征明显的、频度高的请求返回脏数据(删字改字添字)
dsg001
2017-05-18 21:29:38 +08:00
会员限制,超过阀值则每次访问都需要验证码
gouchaoer
2017-05-18 21:32:45 +08:00
验证码不是一个好的方案,反爬虫最重要的是不能让爬虫知道你已经知道它是爬虫了
humxman
2017-05-18 21:39:04 +08:00
先载入一部分然后监听事件,如果没有动作(滚屏、鼠标动作)的话不请求后续内容。
karia
2017-05-18 21:42:46 +08:00
刚写完爬虫的我用极其幽怨的眼神看着楼主。
ivmm
2017-05-18 21:44:12 +08:00
@karia 哈哈哈哈哈哈哈哈,笑出声
elfsong
2017-05-18 22:38:36 +08:00
讲道理 除了 Plan 3 其他两种代理池都可以搞定
olOwOlo
2017-05-18 23:35:37 +08:00
之前爬过的某站上面三种都有
反爬虫一般都是独立出来的,类似 fail2ban 这种扫描日志(或者做个流量分析系统_(:з)∠)_?
个人感觉从会员入手是效果最好的,频率过高直接封号_(:з)∠)_
不过爬虫是挡不住的,只要是浏览器能访问的爬虫都能想办法获取到,除非像一些网站一样只显示前 X 页的内容
yidinghe
2017-05-18 23:44:03 +08:00
传输内容加密,加密解密的代码混淆,解密出来的文字用 canvas 画出来。
Reign
2017-05-19 00:13:59 +08:00
反爬做的足够好把用户和搜索引擎都干跑了,你能想到的反爬我们这些写爬虫的早就想到了,“弊端是每次访问都要检测该 ip 的访问次数和执行判断”,根本不是这个弊端,你还太年轻
ioriwong
2017-05-19 00:21:15 +08:00
我觉得动态加载是个不错的方案,一般爬虫不会模拟鼠标滚轮动作或键盘 Pagedown 动作
mokeyjay
2017-05-19 00:29:17 +08:00
用小说站的反采集方案吧。小说入库时,随机挑选一些字生成图片,将图片链接插入原文,删掉被图片替换的字。显示时用户无感知但爬出来的内容全是乱的
Akkuman
2017-05-19 00:32:08 +08:00
直接提供接口😂
yangqi
2017-05-19 00:41:13 +08:00
要想 100%防是不可能的,只能防止一些比较初级的爬虫。现在的框架都是模拟浏览器访问,基本看不出来是爬虫
t6attack
2017-05-19 00:42:24 +08:00
自己设计了一套缺德的繁琐的机制。简单的说,判断出采集行为后随机穿插错误数据、重复数据。
crayygy
2017-05-19 01:23:43 +08:00
display:none
bjlbeyond
2017-05-19 08:02:51 +08:00
只能说是用一些手段去限制初级爬虫选手
tinyproxy
2017-05-19 09:06:25 +08:00
人家真要爬你,也就看谁更耗不起了。
dong3580
2017-05-19 09:30:20 +08:00
@yidinghe
没用,全是 canvas 的话 jquery 直接提出 txt 来得了.
zpvip
2017-05-19 10:04:00 +08:00
把最常用的几百个汉字每小时生成图片,相同汉字每小时的图片名称不一样,程序内部有对应 hash,图片过一小时就自动删除,PHP 处理这个过程非常快,不到一秒。

用 dns 检查是否为 Google 和百度爬虫,对爬虫不用图片替换。

如果高手用 OCR,并且把所有图片都保存下来,也够他忙的,不可能绝对防住,只能恶心他们。

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

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

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

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

© 2021 V2EX