禁止自己的网站被爬虫爬去?

禁止自己的网站被爬虫爬去?有什么方法啊

阅读 12.6k
14 个回答

加一个robots.txt文件,内容:

User-agent: *
Disallow: /

加入robots.txt,告诉爬虫希望不要爬取我的网站,但是并不会强制禁止,这只是一个约定,需要双方都去遵守。

还得看是什么样的爬虫了
君子型?小人型?
如果这个爬虫能遵守robots.txt约定,那么还好
但是这种只是君子协定
如果碰上小人,那么也就呵呵了

不知道你说的爬虫是指百度爬虫还是我们自己编写的爬虫。

百度爬虫按楼上的方法就好了,而防止别人的爬虫有很多方法,比如所有class,或者id都动态生成。因为爬虫解析html一般是通过class或者id来获取想要的东西的。

1) JS什么的可以试试gzip压缩,很多爬虫不会爬取gzip压缩的js
2)使用log分析web服务器的日志,如果是恶意的访问你的关键资源的,并且对方是一个固定IP,可以试着ban掉对方IP

讲道理,不可能绝对做到

没有用的,首先你的网站本身对人公开,那自然也就对爬虫公开,除非换成内部网络,如果你把精力做到防止爬虫上去,还不如提高质量,现在分类信息网站都是爬来爬去,而用户体验基本没有提升。

噗,你可以把class和id乱七八糟,毫无规律,让正则都匹配不了

网页内容全部js动态生成不知道可不可以

首先是你很难做到说100%不让爬虫爬取到,除非像楼上说的那样是内部网络。

但是你可以做一些的措施用来防止一些技术含量低的小爬虫爬取你的网站。

具体的措施可以移步到知乎,看看这篇文章点这里

希望能帮到你

如果是防御针对性的爬虫,可以做一些访问限制,比如访问频率,添加验证码等等。

  1. 重要内容使用js动态添加

  2. 限制http_referer

  3. 不同的界面可以考虑不同的模板,一套正则不能完美匹配的那种

  4. 在可能会爬的内容里随机加一些版权信息

  5. .登陆之后才可以进行访问

  6. 记录访问日志

能想到的就这些,不过如果真的想抓,这些也就只是增加一点抓取的难度而已

新手上路,请多包涵

禁止搜索引擎爬取可以修改robots.txt
禁止个人爬取的话难度有点大,只能增加难度,比如增加比较复杂的验证码、访问频率、定时换样式/数据格式之类的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题