
自己一个网站,都是自己辛辛苦苦用键盘敲出来的数据,纯原创站,自己很用心在做这个网站,但是说实话,一个新手都可以用火车头不费吹灰之力把我的网站数据全爬过去,其实如果不是谷歌的话,我想了很多种防爬虫的手段,比如:
感觉这些合在一起基本可以过滤大部分新手了,但是,这些很有可能把可爱的谷歌爬虫给误伤了,现在服务器端验证 header 为 Googlebot 貌似也不起任何作用,都可以伪造,大家有哪些防爬虫但是不会误伤谷歌爬虫的完美方法?讨论一下,谢谢
1 just4test 2017-01-18 11:29:42 +08:00 不是可以通过 IP 验证吗 |
2 alwayshere OP @just4test 谷歌有哪些 ip ? |
3 vbs 2017-01-18 11:36:06 +08:00 搜索关键字: google crawler 验证 |
4 alwayshere OP @vbs 谢谢,世界上搜索引擎还有很多, bing yandex 百度 搜狗之类的 感觉验证完好渺茫 |
5 rocksolid 2017-01-18 12:40:19 +08:00 如果不嫌麻烦能不能先放部分数据,部分垃圾数据,等过个一两天再把真实数据更新上去 |
6 gouchaoer 2017-01-18 12:42:12 +08:00 via Android 天真 |
7 binux 2017-01-18 12:44:08 +08:00 没有。即使假设有,再不济,我去抓 google 不就好了。 |
8 danmary61 2017-01-18 12:45:30 +08:00 这个真没有 |
9 KeepPro 2017-01-18 12:45:55 +08:00 via Android 把所有的数据展示都放到 canvas 里面显示,或者生成图片。 |
10 annielong 2017-01-18 12:48:40 +08:00 折中方案就是显示一半,剩下的加个强验证,通过后显示, |
11 run2 2017-01-18 12:49:56 +08:00 不用每次访问都验证 IP 啊,首次见的(疑似) bot 验证,过了的 IP 就加入到你特定的白名单里 |
12 Zzzzzzzzz 2017-01-18 12:50:41 +08:00 没有, 而且各引擎为了评估网站是否针对它们吐数据作弊, 都会有其他非公开的 UA 和 IP 段的爬虫做检验, 你这样反而适得其反 |
13 mnhkahn 2017-01-18 12:51:52 +08:00 useragent 可以判断 |
14 golmic 2017-01-18 12:54:41 +08:00 via Android 楼主能不能告诉我地址我想练练我的爬虫技能... |
15 doubleflower 2017-01-18 13:26:16 +08:00 内容里面随机插网站名字 /网址,别人相当于给你免费宣传了 |
16 smallaccount 2017-01-18 13:28:35 +08:00 搜索引擎原创识别才是最根本的吧 另外就是版权的法律保护,国外如果 copy 的话貌似可以直接主机商关站的 |
17 clino 2017-01-18 14:21:12 +08:00 ip 确实可以哈 https://support.google.com/webmasters/answer/80553 $ host 66.249.66.1 1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com. |
18 TaMud 2017-01-18 14:34:57 +08:00 你都把衣服脱光了给人家看了 你说你要怎么样保护密秘?? 你可以把整个网页变成一张图片 你也可以把整个网站做成一个 flash |
19 usernametoolong 2017-01-18 15:35:06 +08:00 你不放网址我们怎么帮你提高一下?(捂脸 |
20 ningcool 2017-01-18 15:58:36 +08:00 纯原创的话,一天你写不了几篇文章。所以,哪怕你技术上屏蔽了别人,你无法阻挡别人去复制啊! |
22 grayon 2017-01-18 16:57:53 +08:00 您使用的 IP 访问网站过于频繁,为了您的正常访问,请先输入验证码 |
23 hyuwang 2017-01-18 17:07:14 +08:00 可以数据不要放全 让浏览引擎索引到关键字和标题就行了 用户浏览的时候多点一下才能拿到全部的 content 感觉现在挺多国外网站这么干 |
24 TaMud 2017-01-18 17:50:09 +08:00 难道 你们不知道 有 selenium 这东西??? |
25 sometimesna1ve 2017-01-18 18:05:08 +08:00 插个题外话,以前还真的爬过 canvas 画的数据。比如下面这个 URL 里面: http://v.qq.com/datacenter/0dfpyvfa7tp0ewe.html 一些具体的数字就是用 canvas 画出来的。 办法就是先截图,然后调用 OCR 识别图片上面的数字。 当时用的 tesseract ,对数字的识别准确率还蛮高的(当然对图片有些简单的放大和二值化处理之后,准确率才上来的)。 不过,上面这个腾讯的视频指数页面,有些别的反爬处理,很难搞,最终还是放弃了。 |
26 shiny PRO 不知道有没有人可以通过法律角度讲讲可以怎么做。 |
27 lan894734188 2017-01-18 18:09:22 +08:00 via Android 把 Google 的 as 添加到白名单 |
28 RealLiuSha 2017-01-18 18:24:07 +08:00 我们是实现一个 漏桶 来处理这样的事情的, 针对流量分析一下 ip 均匀请求量 自动调整漏桶大小, 如果爬的比较猛就直接 ban 掉 ip , 值得一提的是 这样的方法防不住有心的爬虫, 总的来讲我们是想挡住恶意的高频请求用户 至于完全的防爬, 我觉得是不可能懂, 人家真想要你的数据, 办法多的是。。 |
29 techmoe 2017-01-18 18:28:13 +08:00 via Android 那估计就只能靠 ip 识别了 |
30 yxzblue 2017-01-18 19:04:14 +08:00 楼主是产品? |
32 dsg001 2017-01-18 19:26:58 +08:00 只担心 googlebot ,不担心真实用户吗,在乎 seo 就别在乎爬虫,只要爬虫直接去爬 google 缓存,再强的反爬虫策略也没用 |
33 ioioioioioioi 2017-01-18 19:30:29 +08:00 via iPhone 谷歌蜘蛛可以判断 ip 的 hostname |
34 professorz 2017-01-18 20:07:38 +08:00 客户端生成 cookie 二次请求才呈现数据 很多航司网站是这样做的 你可以找一下相应的工具 |
35 misaka20038numbe 2017-01-19 00:04:00 +08:00 没有,再厉害你能把用户的屏幕给关了吗?所以你可以换一种方式,比如让文章个性化,让别人一看就知道是你. |