Scrapy框架给请求加代理ip

重写start_request方法

我在Scrapy框架的Spider类中重写了start_requests方法:
在这里插入图片描述
比较简单,只是在meta中加了一个proxy代理。

使用DOWNLOAD中间件

  • 在middlewares.py中增加一个类,取名:ProxyMiddleware即代理中间件:
    Scrapy框架给请求加代理ip_第1张图片

  • 这里的初始化方法可以忽略,是我业务上的需求,主要是看这里的process_request方法,加了一个代理,然后在settings中配置这个中间件:
    在这里插入图片描述

  • 这里的数字是中间件的一个唯一编号,可以随意指定,只要不重复就行。然后同样在控制台中启动爬虫,没有问题~,同样的,对于Basic认证的代理ip同样可以在这里设置,header通过process_request的request方法取到

你可能感兴趣的:(Scrapy框架给请求加代理ip)