scrapy爬虫(六)--集成随机user-agent以及使用IP代理

  1. 本次使用的是fake-useragent开源库,该库详细内容点这里,我们来看scrapy的流程图:在这里插入图片描述
    分析流程图可以看出,request在进入engine前会通过一些中间件;在engine和Downloader之间也有中间件,当request经过他们的处理后就交由Downloader进行下载了,因此我们只要在这层中间件对request进行处理,使其随机添加一个user-agent
  2. 在源码中scrapy的中间件实现了添加user-agent:在scrapy源码downloadermiddlewares有一个useragent
    在这里插入图片描述
    在项目中的middlewares中我们只需要仿照他的方法,然后再将该该中间件注册到settings的Downloadermiddlewares中:
    在这里插入图片描述
    在这里插入图片描述
  3. 配置代理
    scrapy中配置代理也是相当简单,在middlewares中对request添加proxies,添加到settings中的Downloadermiddlewares
    在这里插入图片描述
    在这里插入图片描述
    当然最好是用随机IP代理,可以自己爬取免费IP代理并维护一个IP代理池,或者使用付费代理。
  4. 插入一点小技巧,由于在scrapy项目中,我们可能会同时使用多个爬虫,比如在原来项目的基础上,我又生成了一个爬虫模板,希望对几个网站同时爬取,但是每个爬虫的settings可能不一样,比如A网站不需要使用cookie,于是我们将COOKIES_ENABLED = False,但是B网站必须要有cookie才能爬取,这是我们只要在爬虫中加入custom_settings = {‘COOKIES_ENABLED’: True}
    在这里插入图片描述
    因此只要该对该爬虫的定制化设置都可以添加到custom_settings中
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值