美文网首页
7. scrapy代理

7. scrapy代理

作者: 学飞的小鸡 | 来源:发表于2018-10-31 21:07 被阅读0次

一、settings.py

  • 添加一个代理地址池
# 定义一个字段,表示我们收集好的代理
IPPOOL = [
    {"ip":"113.16.160.101:8118"},
    {"ip":"119.29.119.64:8080"},
    {"ip":"202.112.237.102:3128"},
    {"ip":"119.31.210.170:7777"},
    {"ip":"183.129.207.83:10800"},
    {"ip":"183.129.207.73:14823"}
]

  • 开启中间件,并注册代理中间件
DOWNLOADER_MIDDLEWARES = {
    "scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware":123,
   'IPPOOLDemo.middlewares.IPPOOLS': 125
}

二、middlewares.py

清空重写

  • 从settings文件中导入IPOOl
from .settings import IPPOOL
  • 导入官方文档对应的HttpProxyMiddleware
from scrapy.contrib.downloadermiddleware.httpproxy import HttpProxyMiddleware
# 创建一个代理中间件类集成自官方代理中间件
class IPPOOLS(HttpProxyMiddleware):

    # 重写初始化方法
    def __init__(self,ip=''):
        self.ip = ip
    # 重写请求处理方法
    def process_request(self, request, spider):
        # 从ip代池中随机挑选一个ip地址
        current_ip = random.choice(IPPOOL)
        print("当前代理ip是:",current_ip["ip"])
        # 设置请求对象的代理服务器是当前ip
        request.meta["proxy"] = "https://" + current_ip["ip"]
        # 此时就可以把代理ip植入到下载器中

相关文章

  • 7. scrapy代理

    一、settings.py 添加一个代理地址池 开启中间件,并注册代理中间件 二、middlewares.py 清...

  • 第七章 反爬虫机制

    反爬虫机制 标签(空格分隔): python scrapy scrapy 架构 useragent 用户代理切换 ...

  • Centos作为代理服务器为Scrapy爬虫提供代理服务

    Centos作为代理服务器为Scrapy爬虫提供代理服务 在我之前的文章Scrapy-redis分布式爬虫+Doc...

  • 32.scrapy中间件的使用

    scrapy中间件的使用 学习目标: 应用 scrapy中使用间件使用随机UA的方法 应用 scrapy中使用代理...

  • scrapy代理的设置

    scrapy代理的设置 在我的上一篇文章介绍了scrapy下载器中间件的使用,这里的scrapyIP的代理就是用这...

  • [scrapy]scrapy爬取京东商品信息——以自营手机为例

    关于scrapy以及使用的代理轮换中间件请参考我的爬取豆瓣文章: 【scrapy】scrapy按分类爬取豆瓣电影基...

  • 结构模式

    7. 代理模式 代理模式的本质:控制对象访问。 静态代理 外部公共接口 public interface Sub...

  • Scrapy配置代理

    采集免费代理信息 运行写入json文件 使用代理进行采集 在middlewares.py中添加以下代码: 在set...

  • Scrapy 使用代理

    一、使用开放代理(没有用户名和密码) 二、使用独享代理(有用户名和密码) 三、setting设置 开启下载中间件

  • scrapy使用代理

    最近一直访问网站访问不了,以为是网站在维护一直没有管它,直到客户截图发过来,我才发现自己手机也是可以访问的,就是使...

网友评论

      本文标题:7. scrapy代理

      本文链接:https://www.haomeiwen.com/subject/sceztqtx.html