反反爬策略(一) Scrapy添加User-Agent池

本文介绍了如何使用Scrapy添加User-Agent池来应对网站的反爬策略。通过在middlewares.py中创建一个UserAgent类,并利用FakeUserAgent库随机生成不同的User-Agent,实现在每次请求时更换身份,避免被识别为机器。同时,文章提到了在settings.py中配置下载器中间件的注意事项,以确保User-Agent池能正常工作。
摘要由CSDN通过智能技术生成

鉴于爬虫的高效率以及无差别性,在获取一些网站的内容时,会对服务器造成巨大的压力,以至于网站管理者为了保持服务器的平衡,会做一些反爬虫的措施,阻止爬虫的前进。
道高一尺魔高一丈。为了应对这些反爬措施,虫子们也有自己的方法。对此,希望能分享一点经验,最主要的是能够做好学习笔记,方便日后的查看。

NO.1 添加User-Agent池

User-Agent是headers中的一个属性,表示当前访问服务器的身份信息。简单来说,就是告诉服务器,谁在浏览信息。也是反反爬策略中最简单的一项。
同一个身份过于频繁的访问服务器,会被识别为机器身份,遭到反爬的打击。所以需要频繁的更改User-Agent信息。

经过大量的验证以及实验之后,终于成功的实现了每次请求都是不同的身份。话不多说,燥起来吧,上代码。

第一步

Scrapy 发送请求获取响应的流程是,request对象从调度器中提取出来,交给下载器进行请求。过程中必须经过下载器中间件downloadmiddleware,下载器中间件中的主要方法process_request()是在request对象进入下载器之前进行处理,需要添加的user-agent就在这个方法中实现;process_response()是在下载器将请求到的响应返回给引擎时,对响应resoonse进行处理。这里主要介绍process_request().

添加User-Agent池

在scrapy中的middlewares.py中间件管理文件中添加一个useragent的类。
from fake_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值