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删除指定类型(或非指定)的文件实例详解
Jul 06 Python
使用Python的PIL模块来进行图片对比
Feb 18 Python
在Django中进行用户注册和邮箱验证的方法
May 09 Python
python 调用HBase的简单实例
Dec 18 Python
Python中一些不为人知的基础技巧总结
May 19 Python
python实现周期方波信号频谱图
Jul 21 Python
详解Appium+Python之生成html测试报告
Jan 04 Python
不到20行代码用Python做一个智能聊天机器人
Apr 19 Python
Pandas把dataframe或series转换成list的方法
Jun 14 Python
python ssh 执行shell命令的示例
Sep 29 Python
Python实现简单的猜单词小游戏
Oct 28 Python
python执行js代码的方法
May 13 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 - Html Transfer Code
2006/10/09 PHP
解析php中curl_multi的应用
2013/07/17 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
2019/03/06 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
java script编程起步(第三课)
2007/01/10 Javascript
Jquery 设置标题的自动翻转
2009/10/03 Javascript
传智播客学习之java 反射
2009/11/22 Javascript
基于jQuery的360图片展示实现代码
2012/06/14 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
jquery each的几种常用的使用方法示例
2014/01/21 Javascript
在JavaScript中判断整型的N种方法示例介绍
2014/06/18 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
jQuery实现冻结表头的方法
2015/03/09 Javascript
JavaScript中的原型prototype属性使用详解
2015/06/05 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
js电话号码验证方法
2015/09/28 Javascript
JavaScript操作URL的相关内容集锦
2015/10/29 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
JavaScript学习笔记之创建对象
2016/03/25 Javascript
angular5 httpclient的示例实战
2018/03/12 Javascript
js 数组当前行添加数据方法详解
2020/07/28 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
微信小程序自定义胶囊样式
2020/12/27 Javascript
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
[56:57]LGD vs VP 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第一场 8.20.mp4
2019/08/22 DOTA
Windows下安装Django框架的方法简明教程
2018/03/28 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
python3实现mysql导出excel的方法
2019/07/31 Python
Python使用OpenPyXL处理Excel表格
2020/07/02 Python
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
关于母亲节的感言
2014/02/04 职场文书
电气自动化专业职业规划范文
2014/02/16 职场文书
Python爬虫之自动爬取某车之家各车销售数据
2021/06/02 Python
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL
用Python实现屏幕截图详解
2022/01/22 Python