被采集是我们一直遇到的麻烦,2013年我们就自己编写网站防采集程序,从反采集程序的报告解读看,这个程序起到了相当的作用,但后来因为下面几点原因而停用:
- 自身需要使用数据库,容易在被采集的高峰期引起拥堵;
- 对搜索引擎爬虫使用host反查DNS有时因为网络问题失败,导致误判;
- 黑白名单机制不够完善、灵活;
- 程序逻辑不够完善、优化,应该采用定时方式的地方采取了每次访问时运行,负荷过大;
- 采取了其它一些措施来进行反采集,例如:人工查看Apache日志来处理、安装Apac
这是 防采集 分类的页面,点击下面标题查看详细文章内容:
被采集是我们一直遇到的麻烦,2013年我们就自己编写网站防采集程序,从反采集程序的报告解读看,这个程序起到了相当的作用,但后来因为下面几点原因而停用:
反采集一直都是我们需要进行的工作,特殊是国内互联网行业抄袭风气太盛,其实我们不介意这些采集者把我们原创内容采过去,反正采集者也影响不了我们自己多少,但老是导致我们服务器资源过载就很烦了。
以前一般用“Apache中设置屏蔽IP地址和URL网址来禁止采集”,高级一些的用法记录在“识别User Agent屏蔽一些Web爬虫防采集”,中途还专门“自己编写网站防采集程序”,但用起来也有些不完善。
这两个月提交百度熊掌号、MIP/AMP后,正常的爬虫多起来,流量也多一些,跟着
自从做网站以来,大量自动抓取我们内容的爬虫一直是个问题,防范采集是个长期任务,这篇是我5年前的博客文章:《Apache中设置屏蔽IP地址和URL网址来禁止采集》,另外,还可以识别User Agent来辨别和屏蔽一些采集者,在Apache中设置的代码例子如下:
RewriteCond %{HTTP_USER_AGENT} ^(.*)(DTS\sAgent|Creative\sAutoUpdate|HTTrack|YisouSpider|SemrushBot)(.*)$ RewriteRule .* - [F,L]
屏蔽User
最近把自己编写的网站防采集程序进行了升级,添加了每日邮件报告的功能,各台服务器在每天凌晨将前一天被屏蔽的IP信息汇总发送邮件到指定邮箱。典型的邮件内容摘录如下:
101 Bad IPs Found on 2013-12-11 from XXX.XXX.XXX.XXX
#count=1
request_time=>1386690568
remote_addr=>186.201.198.250
http_user_agent=>Mozilla/5.0 (
在Drupal网站中使用PHP程序来屏蔽采集者效果还不错,可以自己任意设定判断标准。不过我们以前的MediaWiki平台上的网站还没有使用这套PHP程序来屏蔽,最近发现采集又太多了,搞得服务器负载太高,老是从Apache日志人工排查太麻烦、太慢(以前的办法见博文《Apache中设置屏蔽IP地址和URL网址来禁止采集》),今天花一些时间编写了一个小程序来统计日志中的IP访问数,程序很简短,如下:
<?php /* * 统计Apache日志文件的IP,找出访问最多的IP地址,方便发现采集者 * James Qi 2013-11-8 */ //0
对于我们这种数据量很大的网站,面临的一个麻烦是总有人来采集,以前多使用过人工检查、屏蔽的办法,这种办法有效果但太费精力,前段时间也找了插件来自动限制最大连接数,但存在误屏蔽搜索引擎的问题,最近老夫下决定亲自操刀写程序,把这些采集者都斩草除根,虽然
2002-2023 v4.12 a-j-e-0