代理中心:

简单讲: 精细化控制限制资源的使用,保证有限资源的充分利用及有效性。支持动态增减,实时更新。

需求

rest api提供请求输入与输出

客户端使用代理心跳接收,用于更新代理的使用次数,被占用情况

监测代理可用情况,检查代理对指定请求的响应

按客户端,线程名称,请求任务号,分配代理

代理中心表的curd操作

主要逻辑

简单讲: 精细化控制限制资源的使用,保证有限资源的充分利用及有效性。支持动态增减,实时更新。

回收监控

代理验证

数据表

代理信息表

主键,代理ip,代理端口(-1时为本机代理),用户名,密码,最多允许多少机器使用,
代理体眠时间(扔回代理池后,再次被使用),
代理使用最低间隔(同一个task请求间隔,两者取大),
代理最后使用时间
代理使用次数
代理可用状态
代理标记位(int数值位)
创建时间
最后修改时间
代理组(用于申请时,可以指定代理组)
备注

代理验证申请表

主键,爬虫任务id,请求url,请求参数,最长响应时间,返回内容检测,检测类型(contains regex)
创建时间,最后修改时间,申请状态(初始,进行中,已完成,失败),申请代理个数
创建时已验证代理数,当前已验证代理数,是否在上次申请基础上新增(上次代理数超过时,非新增将不验证)
代理组(只从某个代理组中获取)

代理验证表

验证申请id(pk),爬虫任务id,代理id,验证可用状态,响应时长,验证标记位,
使用次数,使用成功次数,使用失败次数,最后使用时间,

代理分配表

主键,爬虫任务id,验证申请id,代理id,客户端标识,线程标识,
使用次数,使用成功次数,使用失败次数,最后使用时间,分配状态(已分配,已回收,超时未知)
创建时间,修改时间,回收时间,心跳次数,最后一次心跳时间

公用配置表

代理失效回收时间
心跳发送间隔

dao层业务

爬虫数据库通用dao业务:
1、各表的单条记录的curd(更改字段属性)
2、心跳更新(2,3,4扩展dao实现)
3、查询代理入代理验证表
4、查询代理验证表到代理分配表

cralwer_爬虫代理中心的简要设计的更多相关文章

  1. Python爬虫代理池

    爬虫代理IP池 在公司做分布式深网爬虫,搭建了一套稳定的代理池服务,为上千个爬虫提供有效的代理,保证各个爬虫拿到的都是对应网站有效的代理IP,从而保证爬虫快速稳定的运行,当然在公司做的东西不能开源出来 ...

  2. 介绍一种 Python 更方便的爬虫代理池实现方案

    现在搞爬虫,代理是不可或缺的资源 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那 ...

  3. 通过爬虫代理IP快速增加博客阅读量——亲测CSDN有效!

    写在前面 题目所说的并不是目的,主要是为了更详细的了解网站的反爬机制,如果真的想要提高博客的阅读量,优质的内容必不可少. 了解网站的反爬机制 一般网站从以下几个方面反爬虫: 1. 通过Headers反 ...

  4. 【python3】如何建立爬虫代理ip池

    一.为什么需要建立爬虫代理ip池 在众多的网站防爬措施中,有一种是根据ip的访问频率进行限制的,在某段时间内,当某个ip的访问量达到一定的阀值时,该ip会被拉黑.在一段时间内被禁止访问. 这种时候,可 ...

  5. 维护爬虫代理IP池--采集并验证

    任务分析 我们爬的免费代理来自于https://www.kuaidaili.com这个网站.用`requests`将ip地址与端口采集过来,将`IP`与`PORT`组合成`requests`需要的代理 ...

  6. 建立爬虫代理IP池

    单线程构建爬虫代理IP池 #!/usr/bin/python3.5 # -*- coding:utf-8 -*- import time import tempfile from lxml impor ...

  7. 写了个爬虫代理ip的脚本给大家使用

    写了个爬虫代理ip的脚本给大家使用 一.代码 import requests from lxml.html import etree url = 'http://www.kuaidaili.com/f ...

  8. 可能是一份没什么用的爬虫代理IP指南

    写在前面 做爬虫的小伙伴一般都绕不过代理IP这个问题. PS:如果还没遇到被封IP的场景,要不就是你量太小人家懒得理你,要不就是人家压根不在乎... 爬虫用户自己是没有能力维护一系列的代理服务器和代理 ...

  9. Python爬虫代理IP池

    目录[-] 1.问题 2.代理池设计 3.代码模块 4.安装 5.使用 6.最后 在公司做分布式深网爬虫,搭建了一套稳定的代理池服务,为上千个爬虫提供有效的代理,保证各个爬虫拿到的都是对应网站有效的代 ...

随机推荐

  1. java nio 网络框架实现(转)

    maven项目https://github.com/solq360/common 链式编/解码 链路层链式处理 管道管理socket 多协议处理非常方便 仿netty NioEventLoop 单线程 ...

  2. EasyUI实战经验总结(转)

    最近公司培训EasyUI,就做下总结吧,给有需要的人,源码在文章最后. 1.最常用的表格 ? 1 2 3 <div class="easyui-panel" data-opt ...

  3. IIS7和IIS7.5备份和还原的方法

    windows2008的iis配置备份和iis6不同,在iis7中没有了6原来的保存配置xml的选项,而采用的是dos命令来进行iis7的备份.以下是win2008上iis7备份的方法. 首先打开CM ...

  4. Chapter 1 Securing Your Server and Network(7):禁用SQL Server Browse

    原文:Chapter 1 Securing Your Server and Network(7):禁用SQL Server Browse 原文出处:http://blog.csdn.net/dba_h ...

  5. 安装numpy、nltk问题汇总

    系统环境是win7(64bit)+python3.4(64bit)+numpy1.82+vs2012 1.假设用sourceforge上编译好的32bit的exe安装,会提示'python versi ...

  6. oracle设备

    # Oracle Environment export ORACLE_BASE=/opt/oracle export ORACLE_HOME=/opt/oracle/product/11gR2/db ...

  7. [Django1.6]south于django1.6使用

    south在django1.6中的使用 django1.7中已经支持数据合并了,所以仅仅能在django1.4 1.5 1.6的版本号中使用south. south的主要作用就是做数据的合并,当我们在 ...

  8. IBatis.net初步使用

    最近加班比较忙,时间也比较琐碎,蛮久没有写东西了.这次就总结一下自己使用IBatis.net的一些总结吧. IBatis简介 IBatis.net是一款开源的Orm框架,应该算是从java的IBati ...

  9. hdoj 2063 过山车 【双边匹配匈牙利算法】

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  10. JUnit实战(2) - JUnit核心(使用Suite来组合测试)

    创建Java Project项目:ch02-internals MasterTestSuite.java package com.manning.junitbook.ch02.internals; i ...