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爬虫教程之爬取百度贴吧并下载的示例
Mar 07 Python
Python 自动补全(vim)
Nov 30 Python
详解Python中的正则表达式的用法
Apr 09 Python
PyQt5每天必学之事件与信号
Apr 20 Python
python中scikit-learn机器代码实例
Aug 05 Python
利用anaconda保证64位和32位的python共存
Mar 09 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
python实现大学人员管理系统
Oct 25 Python
Python for循环通过序列索引迭代过程解析
Feb 07 Python
Python代码需要缩进吗
Jul 01 Python
Python如何操作docker redis过程解析
Aug 10 Python
Python self用法详解
Nov 28 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代码优化及php相关问题总结
2006/10/09 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
javascript学习之闭包分析
2010/12/02 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
vuex actions传递多参数的处理方法
2018/09/18 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
vue实现数据控制视图的原理解析
2020/01/07 Javascript
vue2.x数组劫持原理的实现
2020/04/19 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
Python编程中的反模式实例分析
2014/12/08 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
TensorFlow数据输入的方法示例
2018/06/19 Python
Python中Numpy包的安装与使用方法简明教程
2018/07/03 Python
python装饰器代替set get方法实例
2019/12/19 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
商场经理竞聘演讲稿
2014/01/01 职场文书
保护环境倡议书100字
2014/05/19 职场文书
卫生标语大全
2014/06/21 职场文书
入伍通知书
2015/04/23 职场文书
医院保洁员管理制度
2015/08/05 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
悬疑名作《朋友游戏》动画无字ED宣传片 新角色公开
2022/04/13 日漫
使用 CSS 构建强大且酷炫的粒子动画效果
2022/08/14 HTML / CSS