`

apache日志以及限制爬虫访问

阅读更多

使用正则表达式分隔Apache日志文件

通用日志格式的Apache日志文件示例:

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326

组合日志格式的Apache日志文件示例:

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

组合格式的日志文件比通用格式的日志文件多了两条请求头中包含的信息,其他部分完全一样,以组合格式的日志文件为例,日志中的每项代表的含义如下(详细信息参见Apache文档):

  1. 客户端的IP地址。
  2. 由客户端identd进程判断的RFC1413身份(identity),输出中的符号"-"表示此处的信息无效。
  3. HTTP认证系统得到的访问该网页的客户标识(userid),如果网页没有设置密码保护,则此项将是"-"。
  4. 服务器完成请求处理时的时间。
  5. 客户的动作\请求的资源\使用的协议。
  6. 服务器返回给客户端的状态码。
  7. 返回给客户端的不包括响应头的字节数.如果没有信息返回,则此项应该是"-"。
  8. "Referer"请求头。
  9. "User-Agent"请求头。

 

 

 
 
<Directory "D:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
Options Indexes FollowSymLinks
    AllowOverride All
 
    Order allow,deny
    Allow from all
   
    ## SetEnvIfNoCase User-Agent "^(Baiduspider|Sosospider)" not_allowed_spider 
    SetEnvIfNoCase User-Agent "Trident" not_allowed_spider
    Deny from env=not_allowed_spider
</Directory> 

 

 

2.使用.htaccess屏蔽User-Agent
在.htaccess里添加

RewriteCond %{HTTP_USER_AGENT} ".*ZmEu.*" [OR]
RewriteCond %{HTTP_USER_AGENT} ".*Made by ZmEu.*" [OR]
RewriteCond %{HTTP_USER_AGENT} ".*whitehat.*" [OR]
RewriteCond %{HTTP_USER_AGENT} "^Mozilla/4.0$"
RewriteRule ^(.*)$ http://blog.slogra.com/

如果你觉得有用,添加rewrite规则前,不妨先分析一下自己的网站日志,根据自己的需要定制.

推荐使用Firefox+User Agent Switcher测试效果.

 

 

举例
如果要按请求头中的”User-Agent:”重写一个站点的主页,可以这样写:
RewriteCond % { HTTP_USER_AGENT }  ^Mozilla.* RewriteRule ^/$ /homepage. max .html  [ L ]
 
RewriteCond % { HTTP_USER_AGENT }  ^Lynx.* RewriteRule ^/$ /homepage. min .html  [ L ]
 
RewriteRule ^/$ /homepage .std.html  [ L ]
解释:
如果你使用的浏览器识别标志是’Mozilla’,则你将得到内容最大化的主页(含有Frames等等)。
如果你使用的是(基于终端的)Lynx, 则你得到的是内容最小化的主页(不含table等等)。
如果上述条件都不满足(使用的是其他浏览器),则你得到的是一个标准的主页。

http://www.2cto.com/os/201201/116040.html

 

httpd.config说明

http://www.cnblogs.com/mxw09/archive/2011/08/26/2154240.html

分享到:
评论

相关推荐

    Apache日志的一些操作命令技巧

    了解如何高效地分析和处理Apache日志对于监控服务器性能、识别潜在问题以及优化网站配置至关重要。以下是一些Apache日志操作命令的技巧: 1. **找出访问次数最多的10个IP** 使用`awk`命令来提取日志中的IP地址,`...

    java网络爬虫实例2020

    2020年的Java爬虫实例通常会利用现代的网络库,如Jsoup或Apache HttpClient,来实现高效、稳定的数据抓取。 爬虫的核心原理可以分为以下几个步骤: 1. **起始点**:爬虫通常从一个或多个起始网页开始,这些网页...

    招标信息爬虫Java+html

    9. **性能优化**:通过设置延迟、限制请求频率,防止因频繁访问而被目标网站封禁。同时,可以通过缓存技术减少不必要的重复请求。 10. **结果展示**:爬取的数据可以进一步分析,或者通过前端界面展示,如使用...

    基于JAVA解决淘宝爬虫限制.rar

    本压缩包“基于JAVA解决淘宝爬虫限制.rar”提供了解决这一问题的方法,主要涉及到验证码识别、动态请求处理以及反反爬虫策略。 首先,验证码识别是爬虫面对的一个关键挑战。淘宝网站通常会使用滑动验证码或图像...

    基于java实现网络爬虫

    学习如何模拟浏览器行为,使用代理IP,以及更新User-Agent字符串,可以帮助爬虫绕过这些限制。 9. **异常处理和日志记录**:在编写爬虫时,必须考虑到可能出现的各种异常情况,如网络连接问题、数据解析错误等,并...

    爬虫jar包.rar

    9. **法律合规**:使用爬虫抓取数据时,应遵守相关法律法规,尊重网站的Robots协议,并避免对目标服务器造成过大的访问压力。 10. **反爬策略**:许多网站会有反爬机制,如IP限制、User-Agent检查、验证码等。...

    java网络爬虫实例

    11. **日志记录和监控**:为了跟踪爬虫状态和调试,需要记录爬虫运行日志,并可能使用监控工具,如Prometheus和Grafana,实时查看爬虫性能和异常情况。 总的来说,编写Java网络爬虫涉及网络编程、HTML解析、数据...

    java爬虫项目实战源码.rar

    这涉及到Android的网络访问限制、后台服务、数据同步等问题,以及如何在移动设备上有效地运行和展示爬取结果。 通过深入研究这个Java爬虫项目的源码,开发者不仅可以学习到上述技术点,还能了解如何将理论知识应用...

    Java爬虫代码示例.rar

    7. **反爬策略**:很多网站有防止爬虫的措施,如验证码、IP限制、User-Agent检测等。Java爬虫需要模拟浏览器行为,如设置User-Agent,甚至使用代理IP来避免被封禁。 8. **数据存储**:抓取到的数据通常需要保存,...

    nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据

    Nutch 的爬虫数据通常包括了它在抓取过程中收集到的网页URL、网页内容、元数据以及爬取日志等信息。 在Nutch的数据流程中,主要涉及以下几个关键步骤: 1. **种子URL生成**:爬虫的起点是种子URL列表,这些URL决定...

    小小图片爬虫

    7. **日志记录**:为了追踪爬虫运行状态和调试问题,项目可能使用了日志记录工具,如Log4j,记录爬虫运行过程中的重要信息。 8. **URL管理**:为了避免重复爬取同一个URL,通常会使用URL队列或集合来存储已访问过的...

    java网络爬虫,用java做的一个简单的网络爬虫项目

    8. **反爬虫策略**:许多网站有反爬虫机制,如验证码、User-Agent限制等。Java爬虫可能需要模拟浏览器行为,如设置User-Agent、处理Cookie、甚至使用Selenium等工具。 9. **IP代理**:当爬虫频繁访问同一网站时,...

    爬虫项目 java

    在实际应用中,爬虫可能需要处理反爬虫策略,比如验证码、IP限制、User-Agent变化等。这个项目可能会包含一些应对策略,如使用代理IP池,设置延迟请求,或者使用随机的User-Agent,以避免被目标网站封锁。 此外,...

    Java爬虫技术,无视频,图文教程

    7. **异常处理与日志记录**:在编写爬虫时,应充分考虑异常处理,以确保程序在遇到问题时能够优雅地失败,并通过日志记录问题以便于调试。使用如SLF4J或Log4j的日志框架是常见的做法。 8. **法律与道德规范**:进行...

    商业编程-源码-搜索引擎蜘蛛访问日志查看器(php) v1.0.zip

    10. **安全性考虑**:考虑到日志文件可能包含敏感信息,程序应有适当的安全措施,如限制访问权限,防止未授权的访问或数据泄露。 通过这款PHP程序,用户可以深入洞察搜索引擎蜘蛛的行为,及时调整网站策略,提升...

    Python反爬虫设计.zip

    通过对Cookie和Session的严格管理,可以限制爬虫的活动。例如,只允许经过认证的Session访问敏感数据,或者设置短暂的Session生命周期,迫使爬虫频繁重新登录。 七、分布式反爬策略 使用分布式系统,如`Apache ...

    java 爬虫类

    8. **异常处理与日志记录**:良好的异常处理和日志记录系统对于爬虫的稳定运行至关重要。异常处理确保了程序在遇到问题时能够优雅地恢复,日志记录则有助于追踪和排查错误。 9. **并发与多线程**:为了提高爬取速度...

    java爬虫项目源码.zip

    8. **速率限制**:为了避免对目标网站造成过大的访问压力,爬虫需要控制请求速率。这可以通过简单的延时策略、滑动窗口算法或Leaky Bucket算法实现。 9. **数据清洗与预处理**:抓取到的数据可能包含噪声,如广告、...

    Java网络爬虫(蜘蛛)源码.zip

    7. **IP代理与反反爬虫策略**:为了应对网站的反爬虫措施,如限制同一IP的访问频率,爬虫可能需要使用IP代理池。同时,设置合理的延迟、随机User-Agent、Cookie等策略也能帮助提高爬虫的生存能力。 8. **异常处理与...

Global site tag (gtag.js) - Google Analytics