1. 什么是代理池

代理池就是有代理IP组成的池子, 它可以提供多个稳定可用的代理IP

2. 为什么要实现代理池

  1. 我们在做爬虫的时候, 最常见一种反爬手段就是 ip反爬; 也就是当同一个IP访问这个网站次数过多, 频率过高, 就会限制这个IP访问. 怎么解决这个问题呢? 就是需要经常换IP; 使用代理IP是其中一个比较常用的方案.
  2. 免费代理都是非常不稳定的, 有10%是可用就很不错了.
  3. 一些收费代理稳定性也不好, 便宜一点只有30%~50%左右是可用.
    注: 如果代理IP提供商, 提供接口很好, 稳定性也很高, 就无需使用代理池

3. 代理池开发环境

  • 平台: Mac,可以运行Window和Linux上
  • 开发语言: Python3
  • 开发工具: PyCharm
  • 使用到的主要技术:
    • requests: 发送请求, 获取页面数据
    • lxml: 使用XPATH从页面提取我们想要的数据
    • pymongo: 把提取到代理IP存储到MongoDB数据库中和从MongoDB数据库中读取代理IP,给爬虫使用.
    • Flask: 用于提供WEB服务

爬虫入门第1课:代理池概述及开发环境相关推荐

  1. 打开程序时固定位置_新手入门第五课:免费开源图像处理程序GIMP之矩形选择工具...

    GIMP是一款图像处理软件,是跟Photoshop同一类型的软件,为了方便介绍,后面每篇相关GIMP图像处理软件的介绍文章的开头,我都将插入一段文字,用于介绍GIMP是什么,让不熟悉的朋友知道这是干什 ...

  2. java包名和类名可以一样吗_Java入门第三课:Java基本语法

    Java基础 编写Java程序时,应注意以下几点: 1.大小写敏感: Java是大小写敏感的,这就意味着标识符Hello与hello是不同的.有些操作系统不区分大小写,不区分的话,文件名是不完全正确的 ...

  3. for循环语句例题及解析python_Python入门第8课,for语句综合练习,突破循环累加难点...

    6月2日大陈上了Python入门第7课,从学生上交的练习题来看,第2题和第5题错误最多. 第2题:阅读程序写结果 for i in range(6): print("*") 有一部 ...

  4. 以二进制输出64位类型的数据_Java入门第五课:Java基本数据类型与变量的声明...

    数据类型 基本数据类型 Java有八种基本类型.六种数字类型(四个整数型(默认是int 型),两个浮点型(默认是double 型)),一种字符类型,一种布尔型. Byte.short.int.long ...

  5. C# 编程入门第七课方法调用参数问题,方法标准,传递数组,返回数组,方法高级参数(out关键字参数,ref参数,params可变参数),方法重载,方法的递归,一些常用方法

    C# 编程入门第七课 文章目录 C# 编程入门第七课 1. 方法调用参数问题 2. 方法标准 3.传递数组,返回数组 4. 方法高级参数 4.1 out 关键字参数 4.2 ref 参数 4.3 pa ...

  6. c# 编程入门第六课常量,枚举,枚举转换成其他类型变量(枚举和int,转 string字符串转枚举),结构体,数组,冒泡排序,实际使用排序,方法(函数)

    c# 编程入门第六课 文章目录 c# 编程入门第六课 1. 常量 2. 枚举 3. 枚举转换成其他类型变量 3.1 枚举和int 3.2 转string 3.2 字符串转枚举 4.结构体 5.数组 7 ...

  7. C# 编程入门第五课,VS2019程序调试,for循环,水仙花数,Console.Write,又一种类型变换,三元表达式,产生随机数

    C# 编程入门第五课 文章目录 C# 编程入门第五课 1. VS2019程序调试 2. for循环 3. 水仙花数 4. Console.Write() 5. 又一种类型变换 6. 三元表达式 7.产 ...

  8. C#编程入门第四课,异常,switch-case选择结构,循环结构 while,break作用,do-while循环

    C#编程入门第四课 文章目录 C#编程入门第四课 1.异常 2. switch- case选择结构 3. 循环结构 while 4. break 作用 5. do-while循环 1.异常 那行代码有 ...

  9. C# 编程入门第三课 类型转换,++,关系运算符,bool类型(布尔类型),逻辑运算符,判断闰年,结构

    C# 编程入门第三课 文章目录 C# 编程入门第三课 1. 类型转换 2. ++,-- 3. 关系运算符 4. bool 类型(布尔类型) 5. 逻辑运算符 6.判断闰年 7. 结构 1. 类型转换 ...

最新文章

  1. 由4G向5G进发的物联网:NB-IoT与LTE-M
  2. Applese 的取石子游戏
  3. mysql查所有值的长度_MySQL查询以获取列中所有值的字符长度?
  4. 推荐系统系列教程之十七:简单却有效的Bandit算法
  5. ArrayList的去重问题
  6. php阿拉伯语字符串,使用PHP将RTL(阿拉伯语)文本写入图像
  7. 传智播客 魔法属性 学习
  8. linux下编译opendds,求教OpenDDS的交叉编译!
  9. PCB画板与硬件调试+AD快捷键小技巧
  10. embed标签属性的介绍和用法
  11. java mediatype属性_SpringMVC 及常用MediaType
  12. 程序员职场生活记录分享——初次面试感概
  13. 超详细!!vue、vue-cli脚手架项目使用prerender-spa-plugin,解决SEO并为其添加title,keyWords,descript
  14. 网站点击弹窗微信二维码功能纯CSS
  15. 【中土世界】宏大地名汇总
  16. 51单片机编译没错但proteus数码管仿真出现乱码的情况
  17. 极路由s1有wds_极路由1、1s等机型刷OpenWrt--成为真正的极客
  18. Android日历移植小结
  19. 分分钟上手C#的委托和事件
  20. NLP——文本分类模型(HAN)(三)

热门文章

  1. 计算机专业英语问卷调查,问卷调查英语版.doc
  2. [译][并行计算] 1. 并行计算简介
  3. excel连接mysql_Excel连接MySQL数据库的方法总结(备查,但暂时用不上)
  4. 读写ASCII文件的两种方式
  5. 关于解析XML文件时遇到的一些错误
  6. Echarts 开发静态数据模拟实现迁徙图步骤详解
  7. kali 通过setoolkit-网站克隆获得账户密码
  8. JDK7新特性_JDK7的六个新特性
  9. 魔众企业VI系统 v3.1.0 全新升级,界面优化
  10. python为什么那么好看_为什么Python代码要写得美观而明确