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 检查数组元素是否存在类似PHP isset()方法
Oct 14 Python
解密Python中的描述符(descriptor)
Jun 03 Python
python模块之re正则表达式详解
Feb 03 Python
TensorFlow打印tensor值的实现方法
Jul 27 Python
将Python字符串生成PDF的实例代码详解
May 17 Python
Python面向对象之类的封装操作示例
Jun 08 Python
django创建简单的页面响应实例教程
Sep 06 Python
python中提高pip install速度
Feb 14 Python
pymysql 插入数据 转义处理方式
Mar 02 Python
Python3实现飞机大战游戏
Apr 24 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
May 12 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
Nov 20 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的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
List the UTC Time on a Computer
2007/06/11 Javascript
cloudgamer出品ImageZoom 图片放大效果
2010/04/01 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
jQuery实现切换字体大小的方法
2015/03/10 Javascript
JavaScript实现网页加载进度条代码超简单
2015/09/21 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
2017/03/10 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
vuejs如何配置less
2017/04/25 Javascript
Vue列表页渲染优化详解
2017/07/24 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
2018/07/27 Javascript
微信小程序跨页面传递data数据方法解析
2019/12/13 Javascript
MySQL最常见的操作语句小结
2015/05/07 Python
详谈python read readline readlines的区别
2017/09/22 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
2018/02/06 Python
浅析python中while循环和for循环
2019/11/19 Python
python中使用you-get库批量在线下载bilibili视频的教程
2020/03/10 Python
python新手学习可变和不可变对象
2020/06/11 Python
Python smtp邮件发送模块用法教程
2020/06/15 Python
关于前端上传文件全面基础扫盲贴(入门)
2019/08/01 HTML / CSS
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
介绍一下RMI的基本概念
2016/12/17 面试题
化学教学随笔感言
2014/02/19 职场文书
《燕子专列》教学反思
2014/02/21 职场文书
国培远程培训感言
2014/03/08 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
工作报告范文
2019/06/20 职场文书
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python
Python初学者必备的文件读写指南
2021/06/23 Python