自己一个网站,都是自己辛辛苦苦用键盘敲出来的数据,纯原创站,自己很用心在做这个网站,但是说实话,一个新手都可以用火车头不费吹灰之力把我的网站数据全爬过去,其实如果不是谷歌的话,我想了很多种防爬虫的手段,比如:
感觉这些合在一起基本可以过滤大部分新手了,但是,这些很有可能把可爱的谷歌爬虫给误伤了,现在服务器端验证 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 2017-01-18 18:08:17 +08:00 不知道有没有人可以通过法律角度讲讲可以怎么做。 |
![]() | 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 没有,再厉害你能把用户的屏幕给关了吗?所以你可以换一种方式,比如让文章个性化,让别人一看就知道是你. |
![]() | 36 WildCat 2017-01-19 00:17:28 +08:00 ![]() 不可能,我可以模拟得你监测不出来。 Keywords: - nightmare - phantom - selenium |
![]() | 37 samuel 2017-01-19 00:32:25 +08:00 via iPhone 并没有,只要正常的用户能看到,爬虫就能爬到,只能尽量在不损害正常用户的体验情况下,提高爬虫获取数据的成本 |
![]() | 38 llhh 2017-01-19 09:46:47 +08:00 没有。 |
![]() | 40 libook 2017-01-19 10:24:42 +08:00 前端分两套,正常业务页面和 SEO 页面,把能暴露出去的且希望搜索引擎爬到的防盗 SEO 页面里,正常页面做好防爬措施,使用流量技术+搜索引擎配置的方式引导搜索引擎去爬 SEO 页面。 |
![]() | 41 breeswish 2017-01-19 10:33:29 +08:00 只要网站还允许普通人访问就阻止不了(定向开发的)爬虫,只能提高门槛。 模拟浏览器行为绕过客户端验证:楼上 WildCat 说了 模拟网络绕过 IP 验证:代理池 另外也可以直接爬谷歌 :) |
![]() | 42 lisir 2017-01-19 17:08:15 +08:00 咋不放出网站 |
![]() | 43 param 2017-01-19 18:58:42 +08:00 via Android Google 访问的时候自带了 user agent ,写明是 Google bot ,但是,如果爬虫知道你的规则并且伪装 Google bot 的话。。。。 |
![]() | 44 param 2017-01-19 18:59:34 +08:00 via Android Google 没有一种机制可以验证 Google bot 的身份吗?不如说自带给 token ,需要验证这个 token 才知道它是不是 bot |
46 zyjhkd 2018-08-09 07:57:38 +08:00 你好,这样的程序 好做吗?留个联系方式哈,打包出售吗? |