Scrapy 配置动态代理IP的实现


Posted in Python onSeptember 28, 2020

应用 Scrapy框架 ,配置动态IP处理反爬。

# settings 配置中间件
DOWNLOADER_MIDDLEWARES = {
  'text.middlewares.TextDownloaderMiddleware': 543,
  # 'text.middlewares.RandomUserAgentMiddleware': 544,
  # 'text.middlewares.CheckUserAgentMiddleware': 545,
  'text.middlewares.ProxyMiddleware': 546,
  'text.middlewares.CheckProxyMiddleware': 547
}

 
# settings 配置可用动态IP
PROXIES = [
  "http://101.231.104.82:80",
  "http://39.137.69.6:8080",
  "http://39.137.69.10:8080",
  "http://39.137.69.7:80",
  "http://39.137.77.66:8080",
  "http://117.191.11.102:80",
  "http://117.191.11.113:8080",
  "http://117.191.11.113:80",
  "http://120.210.219.103:8080",
  "http://120.210.219.104:80",
  "http://120.210.219.102:80",
  "http://119.41.236.180:8010",
  "http://117.191.11.80:8080"
]
# middlewares 配置中间件
import random

class ProxyMiddleware(object):

  def process_request(self, request, spider):
    ip = random.choice(spider.settings.get('PROXIES'))
    print('测试IP:', ip)
    request.meta['proxy'] = ip


class CheckProxyMiddleware(object):

  def process_response(self, request, response, spider):
    print('代理IP:', request.meta['proxy'])
    return response

到此这篇关于Scrapy 配置动态代理IP的实现的文章就介绍到这了,更多相关Scrapy 动态代理IP内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
详解Python中的__init__和__new__
Mar 12 Python
Swift中的协议(protocol)学习教程
Jul 08 Python
python实现的多线程端口扫描功能示例
Jan 21 Python
详解pyqt5 动画在QThread线程中无法运行问题
May 05 Python
python 实现敏感词过滤的方法
Jan 21 Python
python简单实现AES加密和解密
Mar 28 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
Sep 18 Python
python带参数打包exe及调用方式
Dec 21 Python
节日快乐! Python画一棵圣诞树送给你
Dec 24 Python
python ftplib模块使用代码实例
Dec 31 Python
基于nexus3配置Python仓库过程详解
Jun 15 Python
python文件名批量重命名脚本实例代码
Apr 22 Python
Scrapy中如何向Spider传入参数的方法实现
Sep 28 #Python
详解向scrapy中的spider传递参数的几种方法(2种)
Sep 28 #Python
小结Python的反射机制
Sep 28 #Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
Sep 28 #Python
scrapy结合selenium解析动态页面的实现
Sep 28 #Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
Sep 28 #Python
python 常见的反爬虫策略
Sep 27 #Python
You might like
PHP使用PHPMailer发送邮件的简单使用方法
2013/11/12 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
使用Yii2实现主从数据库设置
2016/11/20 PHP
Centos7 Yum安装PHP7.2流程教程详解
2019/07/02 PHP
js 覆盖和重载 函数
2009/09/25 Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
IE6、IE7中获取Button元素的值的bug说明
2011/08/28 Javascript
悬浮数字的实现案例
2014/02/19 Javascript
基于jQuery实现网页进度显示插件
2015/03/04 Javascript
javascript多行字符串的简单实现方式
2015/05/04 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
js微信分享API
2020/10/11 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
2017/01/04 Javascript
express+mockjs实现模拟后台数据发送功能
2018/01/07 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
2019/07/10 jQuery
vue路由分文件拆分管理详解
2020/08/13 Javascript
python输入错误密码用户锁定实现方法
2017/11/27 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
Django中密码的加密、验密、解密操作
2019/12/19 Python
Python 面向对象部分知识点小结
2020/03/09 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
CSS3 transition 实现通知消息轮播条
2020/10/14 HTML / CSS
新奇的小玩意:IWOOT
2016/07/21 全球购物
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
数控专业大学生的自我鉴定
2013/11/13 职场文书
《学会待客》教学反思
2014/02/22 职场文书
微信营销策划方案
2014/02/24 职场文书
小学生五年级大队长竞选发言稿
2014/09/12 职场文书
初三化学教学反思
2016/02/22 职场文书
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python
vue里使用create, mounted调用方法
2022/04/26 Vue.js
Redis keys命令的具体使用
2022/06/05 Redis