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通过pil模块将raw图片转换成png图片的方法
Mar 16 Python
Python数组定义方法
Apr 13 Python
python发送邮件实例分享
Jul 28 Python
如何高效使用Python字典的方法详解
Aug 31 Python
Django开发的简易留言板案例详解
Dec 04 Python
对json字符串与python字符串的不同之处详解
Dec 19 Python
解决python中画图时x,y轴名称出现中文乱码的问题
Jan 29 Python
pandas 层次化索引的实现方法
Jul 06 Python
python实现的Iou与Giou代码
Jan 18 Python
Python使用扩展库pywin32实现批量文档打印实例
Apr 09 Python
pycharm + django跨域无提示的解决方法
Dec 06 Python
Python实现简单的俄罗斯方块游戏
Sep 25 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的特殊设置
2006/10/09 PHP
用PHP为SHOPEX增加日志功能代码
2010/07/02 PHP
解析关于wamp启动是80端口被占用的问题
2013/06/21 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
jQuery参数列表集合
2011/04/06 Javascript
javascript获取form里的表单元素的示例代码
2014/02/14 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
基于d3.js实现实时刷新的折线图
2016/08/03 Javascript
jQuery实现右键菜单、遮罩等效果代码
2016/09/27 Javascript
AngularJS控制器之间的通信方式详解
2016/11/03 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
js面向对象编程总结
2017/02/16 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
原生js实现五子棋游戏
2020/05/28 Javascript
Python wxPython库使用wx.ListBox创建列表框示例
2018/09/03 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
Python爬虫过程解析之多线程获取小米应用商店数据
2020/11/14 Python
css3弹性盒模型(Flexbox)详细介绍
2014/10/08 HTML / CSS
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
九年级化学教学反思
2014/01/28 职场文书
五年后的职业生涯规划
2014/03/04 职场文书
公司合作协议书范本
2014/04/18 职场文书
商场收银员岗位职责
2015/04/07 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
2015年教师学期工作总结
2015/04/30 职场文书
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang
一文搞懂Java中的注解和反射
2022/06/21 Java/Android