美文网首页python爬虫 大数据 ai爬虫程序员
Python爬虫代理池分享——再也不怕反爬虫

Python爬虫代理池分享——再也不怕反爬虫

作者: 造数科技 | 来源:发表于2017-07-10 10:58 被阅读1172次

地址:https://github.com/Python3WebSpider/ProxyPool

为什么需要代理池

在爬取网站信息的过程中,有些网站为了防止爬虫,可能会限制每个ip的访问速度或访问次数。对于限制访问速度的情况,我们可以通过time.sleep进行短暂休眠后再次爬取。对于限制ip访问次数的时候我们需要通过代理ip轮换去访问目标网址。所以建立并维护好一个有效的代理ip池也是爬虫的一个准备工作。

如何构建一个代理池

安装

安装Python

至少Python3.5以上

安装Redis

安装好之后将Redis服务开启

配置代理池

cd proxypool
进入proxypool目录,修改settings.py文件

PASSWORD为Redis密码,如果为空,则设置为None

安装依赖

pip3 install -r requirements.txt

打开代理池和API

python3 run.py

获取代理

利用requests获取方法如下


各模块功能
  • getter.py

爬虫模块

  • class proxypool.getter.FreeProxyGetter

爬虫类,用于抓取代理源网站的代理,用户可复写和补充抓取规则。

  • schedule.py
    调度器模块

  • class proxypool.schedule.ValidityTester

异步检测类,可以对给定的代理的可用性进行异步检测。

  • class proxypool.schedule.PoolAdder

代理添加器,用来触发爬虫模块,对代理池内的代理进行补充,代理池代理数达到阈值时停止工作。

  • class proxypool.schedule.Schedule

代理池启动类,运行RUN函数时,会创建两个进程,负责对代理池内容的增加和更新。

  • db.py

Redis数据库连接模块

  • class proxypool.db.RedisClient

数据库操作类,维持与Redis的连接和对数据库的增删查该

  • error.py

异常模块

  • class proxypool.error.ResourceDepletionError

资源枯竭异常,如果从所有抓取网站都抓不到可用的代理资源,
则抛出此异常。

  • class proxypool.error.PoolEmptyError

  • 代理池空异常,如果代理池长时间为空,则抛出此异常。

  • api.py

API模块,启动一个Web服务器,使用Flask实现,对外提供代理的获取功能。

  • utils.py

工具箱

  • setting.py

设置

项目参考

Python爬虫代理池

相关文章

  • Python爬虫代理池分享——再也不怕反爬虫

    地址:https://github.com/Python3WebSpider/ProxyPool 为什么需要代理池...

  • 如何利用飞蚁代理ip池反反爬虫?

    本文关键词:飞蚁代理ip,代理ip池,反爬虫IP池 一般而言,抓取稍微正规一点的网站,都会有反爬虫的制约。反爬虫主...

  • 爬虫代理池的设置

    下面介绍一段python爬虫的代理池

  • 爬虫入门基础

    Day01 一、爬虫介绍 什么是爬虫 Python爬虫的优势 Python爬虫需要掌握什么 爬虫与反爬虫与反反爬虫...

  • 第七章 反爬虫机制

    反爬虫机制 标签(空格分隔): python scrapy scrapy 架构 useragent 用户代理切换 ...

  • 01-认识爬虫

    一、爬虫介绍 什么是爬虫 Python爬虫的优势 Python爬虫需要掌握什么 爬虫与反爬虫与反反爬虫三角之争 网...

  • 推荐一个便宜又好用的付费代理池

    做过爬虫的朋友想必对 IP 代理池都有过了解,当反爬虫策略是限制 IP 的请求次数时,就需要借助代理来解决。 免费...

  • Python爬虫代理池

    爬虫代理IP池 在公司做分布式深网爬虫,搭建了一套稳定的代理池服务,为上千个爬虫提供有效的代理,保证各个爬虫拿到的...

  • Python爬虫代理池

    爬虫代理IP池 在公司做分布式深网爬虫,搭建了一套稳定的代理池服务,为上千个爬虫提供有效的代理,保证各个爬虫拿到的...

  • python爬虫-05-python爬虫代理,python爬虫如

    1、python爬虫代理 使用python爬虫高频率的访问一个固定的网站的话,容易触发该目的网站的反爬机制,将你对...

网友评论

  • 4550a0f88b3d:搞定啦😄
  • 4550a0f88b3d:你好,
    pip3 install -r requirements.txt这一步的时候,出错了,显示
    could not open requirements file: No such file or direction

    是哪里错了😣
    麻烦你了,谢谢
  • 卜地锦::disappointed_relieved: 最近在爬知乎,用上代理还被封了本机IP,换一个WIFI就又可以了,请教下博主,有没有什么办法
    造数科技:给你一个链接,自己去发现新世界
    https://github.com/search?l=Python&q=zhihu&type=Repositories&utf8=%E2%9C%93

本文标题:Python爬虫代理池分享——再也不怕反爬虫

本文链接:https://www.haomeiwen.com/subject/besyhxtx.html