从Web服务器的攻击防御工具HttpGuard(防cc攻击等)看Web服务器的反爬虫设置 —— 如何优化爬虫的性能
HttpGuard网址:
https://github.com/centos-bz/HttpGuard

从https://vv1234.cn/archives/243.html可知,如果同个IP的访问在一定时间内超过一定数量那么就会被判为异常并进行拦截。
从https://cloud.tencent.com/developer/article/1430620?from=15425&areaSource=102001.1&traceId=SBnf0St8_Ib9v_pQtdhQq中我们可以知道,web服务器对单IP的访问限制一般为:
1. 设置单IP每秒的最多访问数;
2. 设置一段时间内单IP的最多访问数,如几秒时间内的总访问数不超过某值;
3. 设置单IP的最大访问连接数。
对于前两种我们可以在正式爬取前做一下测试,提前判断一下这个数值,比如最后判断出每秒的访问数不能超过5次,那么我们就可以在正式编写爬虫时把每秒请求数值定为4或者3,这样再保证爬虫性能的同时又能避免被拦截。
而对于第三点,我们就需要在编写爬虫时注意对请求访问的关闭,每次访问获取到信息后一定要第一时间关闭,在新的访问发起前一定要保证之前的访问连接已关闭。
在保证上面的几点后,我们在正式编写对某个网站的爬虫时也是要提前做好测试,只有这样才能把最终的爬虫性能性能做到最高。
==========================
从Web服务器的攻击防御工具HttpGuard(防cc攻击等)看Web服务器的反爬虫设置 —— 如何优化爬虫的性能的更多相关文章
- 使用Discuz!自带参数防御CC攻击以及原理,修改Discuz X 开启防CC攻击后,不影响搜索引擎收录的方法
这部份的工作,以前花的时间太少. 希望能产生一定的作用. http://www.nigesb.com/discuz-cc-attacker-defence.html http://bbs.zb7.co ...
- 防cc攻击利器之Httpgrard
一.httpgrard介绍 HttpGuard是基于openresty,以lua脚本语言开发的防cc攻击软件.而openresty是集成了高性能web服务器Nginx,以及一系列的Nginx模块,这其 ...
- 防cc攻击策略
黑客攻击你的网站,会采取各种各样的手段,其中为了降低你网站的访问速度,甚至让你的服务器瘫痪,它会不断的刷新你的网站,或者模拟很多用户同一时间大量的访问你的网站, 这就是所谓的CC攻击,这就需要我们在程 ...
- linux中防CC攻击两种实现方法(转)
CC攻击就是说攻击者利用服务器或代理服务器指向被攻击的主机,然后模仿DDOS,和伪装方法网站,这种CC主要是用来攻击页面的,导致系统性能用完而主机挂掉了,下面我们来看linux中防CC攻击方法. 什么 ...
- OpenResty(nginx扩展)实现防cc攻击
OpenResty(nginx扩展)实现防cc攻击 导读 OpenResty 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强 ...
- nginx利用limit模块设置IP并发防CC攻击
nginx利用limit模块设置IP并发防CC攻击 分类: 系统2013-01-21 09:02 759人阅读 评论(0) 收藏 举报 来源:http://blog.xencdn.net/nginx- ...
- PHP防CC攻击代码
PHP防CC攻击代码: empty($_SERVER['HTTP_VIA']) or exit('Access Denied'); //代理IP直接退出 session_start(); $secon ...
- Linux系统防CC攻击自动拉黑IP增强版Shell脚本 《Linux系统防CC攻击自动拉黑IP增强版Shell脚本》来自张戈博客
前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存黑名单突然无法过滤后台,导致WordPress无法登录!虽然,可以通过修改本地hosts文件来解决这个 ...
- CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放 《CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放》来自张戈博客
张戈博客很久以前分享过一个CC攻击的防御脚本,写得不怎么样,不过被51CTO意外转载了.博客从此走上了经常被人拿来练手的不归之路. 当然,还是有不少朋友在生产环境使用,并且会留言询问相关问题.根据这些 ...
- 基于Web的Kafka管理器工具之Kafka-manager安装之后第一次进入web UI的初步配置(图文详解)
前期博客 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8.0.9和0.10以后版本)(图文详解) 基于Web的Kafka管理器工具之Kafka- ...
随机推荐
- BC6-牛牛的第二个整数
题目描述 牛牛从键盘上输入三个整数,并尝试在屏幕上显示第二个整数. 输入描述 一行输入 3 个整数,用空格隔开. 输出描述 请输出第二个整数的值. 示例 1 输入:1 2 3 输出:2 解题思路 方案 ...
- int类型在接收null会报错,需要使用Java包装类型Integer,且Integer不能equal String字符串
int类型在接收null会报错,需要使用Java包装类型Integer,且Integer不能equal String字符串 package com.example.core.mydemo.json2; ...
- xxlJob需要拆分开来,不用公用同一个jobHandler
xxlJob需要拆分开来,不用公用同一个jobHandler 不能使用同一个jobHandler,通过使用不同的任务参数来定义两个不同的job,实际在xxlJob中使用jobHandler来注册的.解 ...
- GitHub上狂揽62Kstars的程序员做饭指南
写在前面 作为一名程序员,我们经常会在全球最大的同性交友网站 GitHub上寻找一些优质的开源项目来学习,以提升自己的专业技能. 今天给大家推荐的是一个GitHub上狂揽61K的开源项目.项目名叫做H ...
- 初学者必读:如何使用 Nuxt 中间件简化网站开发
title: 初学者必读:如何使用 Nuxt 中间件简化网站开发 date: 2024/6/24 updated: 2024/6/24 author: cmdragon excerpt: 本文概述了N ...
- lumen、laravel 环境问题汇总
框架报500 1.chmod 777 -R storage 将日志目录权限设置下. 2.修改fastcgi,将代码目录包含进去. fastcgi_param PHP_ADMIN_VALUE " ...
- .NET Framework 4 请求https接口
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...
- python rsa加密
rsa简单加密: 1 import rsa 2 import base64 3 4 rsa_key_pair = rsa.newkeys(2048) # 生成密钥对,返回(PublicKey(n,e) ...
- Mybatis ResultMap复杂对象一对一查询结果映射之association
Mybatis复杂对象映射配置ResultMap的association association:映射到POJO的某个复杂类型属性,比如订单order对象里面包含user对象 表结构 项目结构 pom ...
- IPv6、双栈与隧道
双栈策略 实现IPv6结点与IPv4结点互通的最直接的方式是在IPv6结点中加入IPv4协议栈.具有双协议栈的结点称作"IPv6/v4结点",这些结点既可以收发IPv4分组,也可以 ...