今天在服务器上面发现,MYSQL流量很高。然后查看一下日志,发现一个不友好的蜘蛛爬虫,看了一下时间 一秒钟访问页面7,8次,而且访问的是网站的整站收索页面。就是不听的查询数据库。
我想问一下大家遇到这类的问题,如何防范? 现在我已经静止了这个IP地址
没有什么好方法。你可以观察哪些ip访问频繁,有嫌疑的就禁封。
程序当中,你可以设置同一个ip两次访问的间隔时间。
没有什么好方法。你可以观察哪些ip访问频繁,有嫌疑的就禁封。
程序当中,你可以设置同一个ip两次访问的间隔时间。
谢谢,刚才看了一下DISCUZ,好像有一个robots.txt 可以设置爬虫的访问站点,这个是否有用呢?
今天在服务器上面发现,MYSQL流量很高。然后查看一下日志,发现一个不友好的蜘蛛爬虫,看了一下时间 一秒钟访问页面7,8次,而且访问的是网站的整站收索页面。就是不听的查询数据库。
我想问一下大家遇到这类的问题,如何防范? 现在我已经静止了这个IP地址
先学习了!
robots.txt是通用的,搜索引擎遵守的规范,它们会先爬你的robots.txt,根据其中的约束进行爬取。
关键你看看access日志,看看是谁家的爬虫来看的,它们都会在User-Agent头上标注自己是什么网站的爬虫。
先配置一下access_log的格式打印出来User-Agent,重启服务器,等一段时间重新看一下access_log,看看是不是正常爬虫,非正常爬虫你也没办法,只能限制IP访问。
百度的各种蜘蛛名字:
产品名称 对应user-agent
网页搜索 Baiduspider
无线搜索 Baiduspider-mobile
图片搜索 Baiduspider-image
视频搜索 Baiduspider-video
新闻搜索 Baiduspider-news
百度搜藏 Baiduspider-favo
百度联盟 Baiduspider-cpro
这是百度的爬虫。
嗯,不过现在我打算写一个程序,控制每个IP查询的间隔时间。
robots.txt对大部分爬虫还是有用滴, 直接挡掉, 但是对某些爬虫, 例如百度, 是挡不住的.
建议加上.
原本robots.txt 就可以了,不过总是有人不守规则.所以还是要记录,然后屏蔽掉某些ip地址...
当然,你也可以用https...呵呵
既然这个爬虫1秒7.8次,那你觉得他会看你的robots.txt吗?
百度都不看,别说这类采集器了。
判断频率或者分析它的ua头,果断禁止掉吧。别客气了
采集器爬虫一个原理吧?