自己一个网站,都是自己辛辛苦苦用键盘敲出来的数据,纯原创站,自己很用心在做这个网站,但是说实话,一个新手都可以用火车头不费吹灰之力把我的网站数据全爬过去,其实如果不是谷歌的话,我想了很多种防爬虫的手段,比如:
感觉这些合在一起基本可以过滤大部分新手了,但是,这些很有可能把可爱的谷歌爬虫给误伤了,现在服务器端验证 header 为 Googlebot 貌似也不起任何作用,都可以伪造,大家有哪些防爬虫但是不会误伤谷歌爬虫的完美方法?讨论一下,谢谢
1
just4test 2017-01-18 11:29:42 +08:00 1
不是可以通过 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
sobigfish 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 2
楼主能不能告诉我地址我想练练我的爬虫技能...
|
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
rockivy 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 1
把 Google 的 as 添加到白名单
|
28
lgpqdwjh 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 2
不可能,我可以模拟得你监测不出来。
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
你好,这样的程序 好做吗?留个联系方式哈,打包出售吗?
|