IP池设计思考(面试点)[通俗易懂]

IP池设计思考(面试点)面试中IP代理池的几个问题:IP怎么剔除的通过设置失败次数,超过失败次数就会删除,可以自定义失败次数.免费代理多久抓取一次10min抓取一次,代码实现可在ProxyRefreshSchedule.py中查看。每过10min就去目标网站抓取一次。有些网站不更新,当然如果是自己买的IP代理不用考虑代理不会更新的情况,因为买的IP数量应该是足够的。怎…

大家好,又见面了,我是你们的朋友全栈君。

IP池设计思考(面试点)

面试中IP代理池的几个问题:

  1. IP怎么剔除的
    通过设置失败次数, 超过失败次数就会删除, 可以自定义失败次数.

  2. 免费代理多久抓取一次
    10min抓取一次, 代码实现可在ProxyRefreshSchedule.py中查看。每过10min就去目标网站抓取一次。有些网站不更新,当然如果是自己买的IP代理不用考虑代理不会更新的情况,因为买的IP数量应该是足够的。

  3. 怎么接入自己的代理设置
    在GetFreeProxy类中(该文件在ProxyGetter文件夹中), 添加自己的静态方法, 扩展自己的代理.扩展的IP可以是免费代理,也可以是购买的IP代理。

  4. 代理多久验证一次
    每五分钟,ProxyValidSchedule.py文件中可以查看。每过5min就会检测现有的可用的代理的情况。将不符合的代理剔除掉。剔除的原理是一次检测不成功就会剔除,当然也可以设置10次,100次等。

  5. 新代理检测频率
    每一分钟检测一次, 先将获取的代理保存在数据库里面名为raw_proxy, 然后将该代理每1min检测一次,
    检测成功的放入userful_proxy, userfull_proxy是每5min检测一次.

  6. API接口怎么实现的
    通过flask, 在本地实现的接口.将数据库里面的代理提取出来。

    1. get是随机获取一个IP
    2. delete是删除指定的IP
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129461.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pta集合相似度_结构相似度

    pta集合相似度_结构相似度原题链接输入样例:33 99 87 1014 87 101 5 877 99 101 18 5 135 18 9921 21 3输出样例:50.00%33.33%#include<bits/stdc++.h>#define x first#define y second#define send string::nopsusing namespace std;typedef long long ll;const int N = 1e4 + 10;cons

    2022年8月8日
    5
  • 将十进制小数转化为二进制小数

    将十进制小数转化为二进制小数小数表示原理你了解小数的表示原理吗?我的十进制小数换成二进制该如何表示?比如:0.3的二进制表示为:0.0100110011001….(小数乘以2,取整,小数部分继续乘以2,取整,得到小数部分0为止,将整数顺序排列。0.8125×2=1.625取整1,小数部分是0.6250.625×2=1.25取整1,小数部分是0.250.25×2=0.5取整0,小

    2022年9月24日
    3
  • tomcat java_maven和java有什么区别

    tomcat java_maven和java有什么区别缓存什么是缓存[Cache]存在内存中的临时数据将用户经常查询的数据放在缓存(内存)中,用户去查询数据的时候就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存减少和数据库的数据交换次数,较少系统开销,提高系统效率什么样的数据库能使用缓存经常查询并且不经常改变的数据Mybatis缓存MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。默认情况下,只启用了本地的会话缓存,它仅

    2022年8月9日
    5
  • 给电脑装linux双系统(新手如何重装win10系统)

    原本在win10之外装了一个Ubuntu,由于Ubuntu的安装十分方便,它使用的grub2会自动配置,所以安装非常顺利,制作了启动盘之后直接从BOOT界面启动就行了,傻瓜式,它会自动检测是否有安装其他系统,可自动选择硬盘连续空间安装(也可手动选择)。Ubuntu用的时间久了感觉非常棒!可惜windows也有其不可替代的地方(比如游戏,虽然我也不怎么玩)。后来想玩一下kali-Linux,这

    2022年4月12日
    56
  • https和ssl的区别_ssl认证

    https和ssl的区别_ssl认证https加密、解密、及验证过程如下图:HTTPS怎么实现安全传输的?建立安全传输HTTPS中,客户端首先打开一条到WEB服务器443端口的连接。一旦建立了TCP连接,客户端和服务器就会初始化SSL层,对加密参数进行沟通,并交换密钥。握手完成后,SSL初始化就完成了,客户端就可以将请求报文发送给安全层了。重点SSL握手发送已加密的HTTP报文之前,客户端和服…

    2022年10月2日
    2
  • kettle下载安装使用教程

    kettle下载安装使用教程Kettle简介Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行, 数据抽取高效稳定。Kettle中文名称叫水壶,该项目的主程序员MATT希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两…

    2022年5月24日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号