对爬虫的限制
不当家不知道柴米贵
以前用彪悍的服务器用习惯了,还真没有资源窘迫的时候
这个月还早,显然现有资源已经撑不到月底了

先把常用的600多K文件挪到了七牛的云存储上
结果一天就跑了2G的流量,这么算再跑5天就废了

得,偷懒不成,老老实实分析日志
搜索spider,每页50条,竟然有好多好多页的记录:

看来是被各家的爬虫给吃掉了。
解决方法
先用robots.txt屏蔽掉国外的蜘蛛:
Disallow: /
User-Agent: Ezooms
Disallow: /
robots的生效需要时间,在生效之前,可以用sae的应用防火墙屏蔽一些IP(非sae用户参考此文)

不过防火墙是全局的,如果想针对某一个目录做限定,可以通过config.yaml来实现。
- hostaccess: if(path ~ "/xxx/xxxx/") deny "123.125.71.12 , 123.125.71.31 , 123.125.71.47 , 123.125.71.95 , 220.181.108.76 , 220.181.108.87, 220.181.108.123, 220.181.108.168 , 220.181.108.105 , 220.181.108.109 , 220.181.108.156 , 220.181.108.160 , 220.181.108.99 , 220.181.108.115 , 220.181.108.139 , 220.181.108.143 , 220.181.108.144 , 220.181.108.163 , 220.181.108.159 , 183.60.212.134 , 183.60.213.39 , 183.60.213.29 , 183.60.214.119"
如上所示,一个IP,一个IP的填毕竟太烦了(还要注意空格!)
时间不够的童鞋(其实是懒)直接干掉整个ip段了事
- hostaccess: if(path ~ "/xxx/xxxx/") deny "123.125.71.0/24 , 220.181.108.0/24 , 183.60.214.0/24 , 183.60.215.0/24"
然后再对漏网之鱼,跳回robots.txt,让他们好好补课。
- rewrite: if(path ~ "/xxx/xxx/" && in_header["User-Agent"] ~ "AhrefsBot" ) goto "http://uicss.cn/robots.txt"
如果是单个的php文件,懒得改config.yaml的,也可以用php搞,返回空白页:
if(substr_count($useragent,"spider")){exit();}
不结尾了,写结尾太麻烦。
总之,问题解决了。

建议继续学习:
- 使用python爬虫抓站的一些技巧总结:进阶篇 (阅读:12752)
- 使用python/casperjs编写终极爬虫-客户端App的抓取 (阅读:12437)
- 使用python/casperjs编写终极爬虫-客户端App的抓取 (阅读:10352)
- 使用python爬虫抓站的一些技巧总结:进阶篇 (阅读:7162)
- 简析搜索引擎中网络爬虫的搜索策略 (阅读:6802)
- 聚焦爬虫:定向抓取系统的实现方法 (阅读:5492)
- 定向抓取漫谈 (阅读:5068)
- 互联网网站的反爬虫策略浅析 (阅读:4719)
- Google 网页爬虫报告无法连接站点解决办法 (阅读:1821)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:崔凯 来源: 崔凯
- 标签: 爬虫
- 发布时间:2014-11-23 21:10:09
-
[927] WordPress插件开发 -- 在插件使用 -
[126] 解决 nginx 反向代理网页首尾出现神秘字 -
[51] 如何保证一个程序在单台服务器上只有唯一实例( -
[50] 整理了一份招PHP高级工程师的面试题 -
[48] CloudSMS:免费匿名的云短信 -
[48] Innodb分表太多或者表分区太多,会导致内 -
[48] 用 Jquery 模拟 select -
[48] 全站换域名时利用nginx和javascri -
[48] 海量小文件存储 -
[46] ps 命令常见用法
