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学习小技巧总结
Jun 10 Python
python让列表倒序输出的实例
Jun 25 Python
python多进程控制学习小结
Oct 31 Python
Python实现FM算法解析
Jun 18 Python
基于Python实现签到脚本过程解析
Oct 25 Python
Python数据可视化:顶级绘图库plotly详解
Dec 07 Python
Python实现将蓝底照片转化为白底照片功能完整实例
Dec 13 Python
pytorch:torch.mm()和torch.matmul()的使用
Dec 27 Python
django实现模型字段动态choice的操作
Apr 01 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
Jul 07 Python
python常量折叠基础知识点讲解
Feb 28 Python
python运行脚本文件的三种方法实例
Jun 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
main.php
2006/12/09 PHP
php下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
php数组查找函数总结
2014/11/18 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
PHP registerXPathNamespace()函数讲解
2019/02/03 PHP
JavaScript方法和技巧大全
2006/12/27 Javascript
Stop SQL Server
2007/06/21 Javascript
php上传图片并给图片打上透明水印的代码
2010/06/07 Javascript
node.js超时timeout详解
2014/11/26 Javascript
简介JavaScript中的unshift()方法的使用
2015/06/09 Javascript
JavaScript采用递归算法计算阶乘实例
2015/08/04 Javascript
jQuery删除节点用法示例(remove方法)
2016/09/08 Javascript
JavaScript中省略元素对数组长度的影响
2016/10/26 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
三种Webpack打包方式(小结)
2018/09/19 Javascript
vue模仿网易云音乐的单页面应用
2019/04/24 Javascript
vue中使用极验验证码的方法(附demo)
2019/12/04 Javascript
python导出hive数据表的schema实例代码
2018/01/22 Python
Python高级用法总结
2018/05/26 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
numpy 声明空数组详解
2019/12/05 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
香港连卡佛百货官网:Lane Crawford
2019/09/04 全球购物
学生会竞选自荐信
2013/10/12 职场文书
浙大毕业生自荐信
2014/01/26 职场文书
学生党员的自我评价范文
2014/03/01 职场文书
闭幕式主持词
2014/04/02 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL
《传颂之物 虚伪的假面》BD发售宣传CM公开
2022/04/04 日漫