1
ho121 2017-07-17 19:04:59 +08:00 via Android
用机器学习的方式判断爬虫 (逃
|
2
est 2017-07-17 19:07:25 +08:00
> 但是,尼玛,看对方模拟发送的 url 配置的参数,总量在一百万以上
特征都有了还找不到办法管么。。 |
3
tianxiacangshen OP @est 是知道,对方是一直变换某一个参数以获取不同的内容,但是这里又不能改掉,毕竟也有真实用户访问
|
4
sunwei0325 2017-07-17 19:16:02 +08:00
差不多就行了, 不可能把所有爬虫都干掉的, 误杀用户就不太好了
|
5
tianxiacangshen OP @sunwei0325 是啊 ,真心一个真实用户都舍不得放弃
|
6
lzhr 2017-07-17 19:52:10 +08:00
内容页面登陆可见?
|
7
bravecarrot 2017-07-17 19:58:04 +08:00 via iPhone
@lzhr 那也没啥用吧,带个 cookie 完事儿了..
|
8
bravecarrot 2017-07-17 20:03:10 +08:00 via iPhone
参数顺序
每次登陆加一个和时间戳相关的 hash 或者在编码问题上搞事情 |
9
tianxiacangshen OP @lzhr 是,再严格的话就是会员才能浏览了
|
10
gidot 2017-07-17 20:28:14 +08:00
如果是 nginx,加这个到配置里:
#禁止 Scrapy 等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; } |
11
whatsmyip 2017-07-17 20:57:09 +08:00
|
12
chengxiao 2017-07-17 21:10:14 +08:00
我很好奇楼主真么侦察到对方的??
|
13
whatsmyip 2017-07-17 21:20:07 +08:00
有人愿意找这么多代理爬,看来不是小站而且数据应该还比较有价值?
先说结论吧,爬虫、反爬虫、反反爬虫。。。。。就是一个生生不息的过程,__具体能进行到哪一步就看双方能力和性价比了__(恩,还有最重要的代理数目,不过这是终极对决了)。要是公开数据,而且对方的爬虫行为没有影响系统运行的话,还是睁一只眼、避一只眼吧。。。 不过,攻防的过程确实是挺有意思的,能学到不少知识^_^ 目前来看,比较容易上的一个措施就是在 js/css/img 文件上动手脚,找一个站点一定会加载的 js 文件。该 IP 请求 js 资源时做个标记,如果超过两次访问没有带标记则封杀。可能会有误伤 再进一步的话,可以是频率限制,周期长一点,具体的限制根据网站用户来决定,这样对方再多的 IP 也会被限制在一定的范围内。不过这样会消耗一定的资源,看具体日 IP 了,用 redis。 补一句,免费的代理数量是有上限的,而且可用性非常差,要是对方为了爬你的数据买了什么高大上的收费服务的话,不如沟通下,把数据打包卖给他** 之前写爬虫的时候总结的 [http://blog.newnius.com/stream-spider-several-strategies.html#反反爬虫]( http://blog.newnius.com/stream-spider-several-strategies.html#反反爬虫) |
14
tianxiacangshen OP @chengxiao 我将每个访客的 ip 地址都临时加入一个表了,包括访问时间,来源页面和要访问的页面,一看就知道什么目的了
|
15
whatsmyip 2017-07-17 21:21:39 +08:00
哦,对了。
googlebot 也是爬虫,不要误伤。 |
16
zycode277 2017-07-17 21:21:51 +08:00 via iPhone
做状态管理吧,爬虫基本都是线性访问, 用户都是峰访问的。
|
17
aqqwiyth 2017-07-17 22:14:44 +08:00
如果需要登录的话,写入一个 cookie,対这个 cookie 做频率判断,统计每日 TOP,封号 多弄几次他就对你没兴趣了
没有 cookie 的直接返回假数据 >逃 |
18
duan602728596 2017-07-17 23:05:56 +08:00 via iPhone
233333333,哪个网站
|
19
sunwei0325 2017-07-17 23:34:46 +08:00
@aqqwiyth 真实用户也有浏览器禁用 cookie 的
|
20
johnnie502 2017-07-18 01:34:33 +08:00 1
其实最有效的反爬虫策略不是见一个封一个,而是识别以后喂假数据,在对方未察觉的情况下污染对方的结果集,等发觉以后也晚了,早晚就会放弃。
|
21
johnnie502 2017-07-18 01:37:57 +08:00 1
补充一下,假数据也不能 100%喂,这样也容易被对方识别出来,半真半假就行了。
|
22
15015613 2017-07-18 07:59:37 +08:00
|
23
gam2046 2017-07-18 08:48:46 +08:00
尝试在页面中加入一个随机的长宽为 0 的 image,如果服务端发现客户端没有请求这个钓鱼 image,就基本可以断定对方没有使用浏览器访问,那么除了爬虫 应该也只有 Google Spider 了
|
24
cyrh 2017-07-18 11:49:45 +08:00
好拼啊,几百个 ip 每小时爬取 5000 数据,这个频率都被楼主发现了
|
25
glogger 2017-07-18 18:27:29 +08:00
并且和正常用户没差别;
就凭这一条,根本不用管。。 |
26
ericgui 2017-10-02 21:35:38 +08:00
你开放 API,收费。
说真的,对大家都合适。他也省劲,你也赚点钱。 |