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

先把常用的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爬虫抓站的一些技巧总结:进阶篇 (阅读:12995)
- 使用python/casperjs编写终极爬虫-客户端App的抓取 (阅读:12652)
- 使用python/casperjs编写终极爬虫-客户端App的抓取 (阅读:10640)
- 使用python爬虫抓站的一些技巧总结:进阶篇 (阅读:7432)
- 简析搜索引擎中网络爬虫的搜索策略 (阅读:7106)
- 聚焦爬虫:定向抓取系统的实现方法 (阅读:5754)
- 定向抓取漫谈 (阅读:5297)
- 互联网网站的反爬虫策略浅析 (阅读:4963)
- Google 网页爬虫报告无法连接站点解决办法 (阅读:2006)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:崔凯 来源: 崔凯
- 标签: 爬虫
- 发布时间:2014-11-23 21:10:09
-
[792] WordPress插件开发 -- 在插件使用 -
[61] cookie窃取和session劫持 -
[60] Java将Object对象转换为String -
[58] 学习:一个并发的Cache -
[56] 你必须了解的Session的本质 -
[53] 最萌域名.cat背后的故事:加泰与西班牙政府 -
[52] 一句话crontab实现防ssh暴力破解 -
[51] 解读iPhone平台的一些优秀设计思路 -
[49] Linux如何统计进程的CPU利用率 -
[48] 浏览器的渲染原理简介
